Change Value Of ListItem onItemClick

冷暖自知 提交于 2019-12-25 17:17:21

问题


I want to change the value of listItem when that listItem is clicked. I have provided the code below.

public class MyListDialogExampleActivity extends Activity implements OnItemClickListener {

ListView myListView;
String itemString = null;   
String [] listViewArray = new String[] {"ABC", "DEF", "GHI", "JKL"};
MyArrayAdapter listAdapter;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    myListView = (ListView) findViewById (R.id.myListView);
    listAdapter = new MyArrayAdapter(this, R.layout.list_row, R.id.list_tv, listViewArray);

    myListView.setAdapter(listAdapter);
    myListView.setOnItemClickListener(this);

}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    // TODO Auto-generated method stub
    Log.d("onItemClick", arg2+"");
    String str = showListDialog();

    // i want to change the selected list item with String str

}

public String showListDialog () {
    final CharSequence[] items = {"1", "2", "3", "4"};

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Pick a number");
    builder.setItems(items, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int item) {
            itemString = items[item].toString();
        }
    });
    AlertDialog alert = builder.create();
    alert.show();
    return itemString;

}    
  }

回答1:


you need to use the parameters sent to you on the onItemClick , so that you take the i-th element in the array you've used , change its value , and in the end , notify the adapter that the data has changed by using notifyDatasetChanged.




回答2:


You can't change arrays during runtime

So you have to use List (http://developer.android.com/reference/java/util/List.html)



来源:https://stackoverflow.com/questions/11807029/change-value-of-listitem-onitemclick

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!