当前位置: 代码迷 >> Android >> 点击android中的Listview,该如何处理
  详细解决方案

点击android中的Listview,该如何处理

热度:86   发布时间:2016-05-01 21:42:04.0
点击android中的Listview
我写了一个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();            }        });    }}
  相关解决方案