如何更改 ListFragment/ArrayAdapter 的列表项文本?

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 void onItemClick(AdapterView parent, View view, int position, long id) { TextView textview = (TextView) view.findViewById(android.R.id.text1); textview.setText("Spiderman"); }

尝试使用以下代码:

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


    }
}