点击android中的Listview,该如何处理
点击android中的Listview
我写了一个listview,当我点击listview中的数据时,可以弹出一个对话框,对话框有两个按钮,一个是删除,一个是取消,我的适配器是用SimpleAdapter,但是,如何才能够弹出的对话框中的删除按钮起到删除这行数据的响应呢???
------解决方案--------------------
listView.setAdapter(xxxx);
重新更新一下适配器
------解决方案--------------------
点击删除按钮后删除Adapter里面对应的List里面的数据,然后更新listview就可以了。不行的话自己写个Adapter
------解决方案--------------------
OnItemClick里的参数 position ,就是代表那一行的索引
------解决方案--------------------
我写的小例子,可以参考一下,不是SimpleAdapter,而是自定义MyAdapter(extends BaseAdapter).
ListTestActivity.java
我写了一个listview,当我点击listview中的数据时,可以弹出一个对话框,对话框有两个按钮,一个是删除,一个是取消,我的适配器是用SimpleAdapter,但是,如何才能够弹出的对话框中的删除按钮起到删除这行数据的响应呢???
------解决方案--------------------
listView.setAdapter(xxxx);
重新更新一下适配器
------解决方案--------------------
点击删除按钮后删除Adapter里面对应的List里面的数据,然后更新listview就可以了。不行的话自己写个Adapter
------解决方案--------------------
OnItemClick里的参数 position ,就是代表那一行的索引
------解决方案--------------------
我写的小例子,可以参考一下,不是SimpleAdapter,而是自定义MyAdapter(extends BaseAdapter).
ListTestActivity.java
- Java code
package com.wo; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; public class ListTestActivity extends Activity { ListView listView; MyAdapter adapter; List<String> list; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); list = new ArrayList<String>(); for (int i = 0; i < 20; i++) { list.add(i + ""); } adapter = new MyAdapter(this, list); listView = (ListView) this.findViewById(R.id.listView); listView.setAdapter(adapter); listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, final int arg2, long arg3) { // TODO Auto-generated method stub AlertDialog.Builder builder = new AlertDialog.Builder( ListTestActivity.this); builder.setMessage("你选择的是?"); builder.setTitle("欢迎"); builder.setPositiveButton("删除", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Log.v("tag", arg2 + ""); list.remove(arg2); adapter.setList(list); adapter.notifyDataSetChanged(); dialog.dismiss(); } }); builder.setNegativeButton("取消", new android.content.DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.create().show(); } }); } }