當前位置:首頁 » 安卓系統 » android獲取listview

android獲取listview

發布時間: 2023-07-28 18:48:24

Ⅰ android 怎麼樣獲得listview的滾動條位置

(1)獲取這一條在新Cursor中的位置(posiition)
(2)獲取這一條在更換Cursor後ListView中的位置。
(4)由於ListView的可滾動的屬性,我們需要記錄更換Cursor前可視的第一條item的索引(ListView.getFirstVisiblePosition())
(3)區分FirstVisiblePosition是0和大於0的情況。由於header,也就是圖中的Loading那一條在新數據出來後是會消失的。
(4)當FirstVisiblePosition為0時實際指向的是header,我們要保持位置不變的是header下面第一條(R)的位置。那麼此時要設置FirstVisiblePosition為1
(5)當FirstVisiblePosition大於0時實際指向的就是item,但是我們需要設置FirstVisiblePosition為0。*
(6)我們根據FirstVisiblePosition用ListView.getChildAt(int position)函數獲取對應的item的View,再根據View.getTop()函數獲取到ListView頂部的距離Y。
這樣ListView.setSelectionFromTop(int position, int y)所需的兩個參數 position 和 y就都有了。
*註解:ListView.getChildAt(int position), 這個position指的是在可視的item中的索引,跟cursor里的位置是大不一樣的。可以看看ListView.getChildCount()函數得到個數是小於或等於Cursor里的個數的(不考慮header的話)。雖然一共可能有20條數據,但是界面只能看到8條,那麼這個ChildCount大約就是8了。另一方面, FirstVisiblePosition取出的是在總的條數中的索引,再將會消失的header考慮進來,所以就是 FirstVisiblePosition為0時要設為1,大於0時又要設為0。

Ⅱ android listview單選如何獲取當前選中是否勾選

1、使用checked屬性判斷選中,代碼為if($(this).attr("checked")){alert("選中了");}。
2、jquery獲取radio單選按鈕的值。以上就是androidlistview單選獲取勾選當前選中指的方法。

Ⅲ android怎麼獲取listview上內容

解決方案:重寫BaseAdapter,然後自行獲取ListView中每行輸入的EditText值.
大概演算法:重寫BaseAdapter.getView函數,用一個數組存儲EditText中的值,根據position即數組下標,在getView中動態更新EditText和動態獲取EditText中的值.因為ListView中的item是復用的,如果不動態清空或動態獲取EditText中值,就會出現數據紊亂,或者沒數據.那麼在生成EditText的時候要監控其值的變化.存儲下來.
舉例代碼:

package com.exmyth.android;

public class ListEditorAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private List<Map<String, Object>> mData;// 存儲的EditText值
public Map<String, String> editorValue = new HashMap<String, String>();//

public ListEditorAdapter(Context context, List<Map<String, Object>> data) {
mData = data;
mInflater = LayoutInflater.from(context);
init();
}

// 初始化
private void init() {
editorValue.clear();
}

@Override
public int getCount() {
return mData.size();
}

@Override
public Object getItem(int position) {
return null;
}

@Override
public long getItemId(int position) {
return 0;
}

private Integer index = -1;

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
// convertView為null的時候初始化convertView。
if (convertView == null) {
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.listview_item, null);
holder.name = (TextView) convertView
.findViewById(R.id.list_item_name);
holder.title = (TextView) convertView
.findViewById(R.id.list_item_title);
holder.value = (EditText) convertView
.findViewById(R.id.list_item_inputvalue);
holder.value.setTag(position);
holder.userkey = (TextView) convertView.findViewById(R.id.user_key);
holder.value.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
index = (Integer) v.getTag();
}
return false;
}
});
class MyTextWatcher implements TextWatcher {
public MyTextWatcher(ViewHolder holder) {
mHolder = holder;
}

private ViewHolder mHolder;

@Override
public void onTextChanged(CharSequence s, int start,
int before, int count) {
}

@Override
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}

@Override
public void afterTextChanged(Editable s) {
if (s != null && !"".equals(s.toString())) {
int position = (Integer) mHolder.value.getTag();
mData.get(position).put("list_item_inputvalue",
s.toString());// 當EditText數據發生改變的時候存到data變數中
}
}
}
holder.value.addTextChangedListener(new MyTextWatcher(holder));
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
holder.value.setTag(position);
}
Object value = mData.get(position).get("list_item_name");
if (value != null) {
holder.name.setText((String) value);
}
value = mData.get(position).get("list_item_title");
if (value != null) {
holder.title.setText(value.toString());
}
value = mData.get(position).get("user_key");
if (value != null) {
holder.userkey.setText(value.toString());
} else {
holder.userkey.setText("-1");
}
value = mData.get(position).get("list_item_inputvalue");
if (value != null && !"".equals(value)) {
holder.value.setText(value.toString());
} else {
String key = mData.get(position).get("user_key").toString();
String inputValue = editorValue.get(key);
holder.value.setText(inputValue);
}
holder.value.clearFocus();
if (index != -1 && index == position) {
holder.value.requestFocus();
}
return convertView;
}

public final class ViewHolder {
public TextView name;
public TextView title;
public EditText value;// ListView中的輸入
public TextView userkey;// 用來定義的標志性主鍵,可不用關心
}
}

Ⅳ android 獲取listview每一項的內容

//獲得選中項的HashMap對象
HashMap<String,String> map=(HashMap<String,String>)myListView.getItemAtPosition(arg2);
String tid=map.get("tid");

Ⅳ android 如何獲取ListView被點擊的那一行數據中的值

參數1就是當前的listView,參數二是當前你點擊的那一項對應的view,3是你點擊的listView的第幾項,四是id值,可以這樣獲取值假如你的listView的每一項都有一個id為R.id.text的TextView組件,那麼可以這樣做
TextView text=(TextView)v.findViewById(R.id.text);
text.getString();調用這個方法就可以獲得這個textView的內容了

Ⅵ android 如何獲取ListView適配器里控制項的位置

1、給最上層View添加OnTouchListener 或者使用activity的Ontouch獲得點擊按鈕的x,y坐標。
2、按鈕的長寬獲得比較麻煩,可以固定大小。
3、可以使用pupwindow直接新建窗口遮擋。
4、可以使用Cavas繪制窗口,傳入具體位置。
5、或者在xml中button後加一個隱藏的FrameLayout,裡面在加按鈕,設置View.GONE,背景不透明。

Ⅶ android循環取ListView中的數據

首先要給item所在的對象設置上值

熱點內容
phpposthtml 發布:2025-02-04 21:37:46 瀏覽:87
最新asp源碼 發布:2025-02-04 21:17:33 瀏覽:570
讓linux死機 發布:2025-02-04 20:48:08 瀏覽:141
單方塊生存伺服器里如何獲取岩漿 發布:2025-02-04 20:48:07 瀏覽:785
快速指數演算法 發布:2025-02-04 20:20:40 瀏覽:299
python在類中定義函數調用函數 發布:2025-02-04 20:14:47 瀏覽:596
安卓手機的壁紙是哪個 發布:2025-02-04 20:14:44 瀏覽:202
java發展前景 發布:2025-02-04 20:10:19 瀏覽:77
mac登陸密碼哪裡設置 發布:2025-02-04 19:50:20 瀏覽:526
手游腳本封號 發布:2025-02-04 19:42:12 瀏覽:437