[英]How do I change a list item text for a ListFragment/ArrayAdapter?
我有一個擴展ListFragment的片段。
在其中我使用了ArrayAdapter
public class MyFragment extends ListFragment {
public void onStart() {
super.onStart();
List<String> list = new ArrayList<String>();
list.add("Superman");
list.add("Batman");
arrayAdapter = new ArrayAdapter<OptionToStringAdapter>(
getActivity(),
android.R.layout.simple_list_item_1,
list);
getListView().setAdapter(arrayAdapter);
getListView().setOnItemClickListener(new ModifyOption(this));
setListShown(true);
}
當用戶點擊一個項目時,我要修改文本。
如何修改文字?
public class ModifyOption implements OnItemClickListener {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
???What goes here????
}
}
嘗試以下代碼:
public class ModifyOption implements OnItemClickListener { public void onItemClick(AdapterView parent, View view, int position, long id) {
arrayAdapter.remove(arrayAdapter.getItem(position));
arrayAdapter.insert("new text",position);
} }
假設您要更改單擊的列表項的內容。
首先,使用您選擇的對話框或小部件更改值。 其次,使用“ position”參數更改列表中該位置的項目的值。
第三,調用適配器對象的notifyDataSetChanged()方法。
public class ModifyOption implements OnItemClickListener {
public void onItemClick(AdapterView parent, View view, int position, long id) {
// create a dialog or other widget
String newValue = "your_new_value";
list.set(position,newValue);
arrayAdapter.notifyDataSetChanged(); //informs views that data has been changed
}
}
這似乎可以解決問題。 我不知道這是否合適。
public void onItemClick(AdapterView parent, View view, int position, long id) { TextView textview = (TextView) view.findViewById(android.R.id.text1); textview.setText("Spiderman"); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.