Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
201 views
in Technique[技术] by (71.8m points)

android - Change Value Of ListItem onItemClick

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;

}    
  }
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...