首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android带剔除按钮的ListView

2013-04-05 
Android带删除按钮的ListView?import java.util.ArrayListimport com.ql.adapter.DeletableAdapterimpor

Android带删除按钮的ListView

?

import java.util.ArrayList;import com.ql.adapter.DeletableAdapter;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ListView; public class Test_4_Activity extends Activity {    private DeletableAdapter adapter;    private ArrayList<String> text;     @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.test4);         ListView list_view = (ListView) findViewById(R.id.list_view);         text = new ArrayList<String>();        text.add("111");        text.add("222");        text.add("333");        text.add("444");        // 初始化数据结束        adapter = new DeletableAdapter(this, text);        list_view.setAdapter(adapter);        // list_view.setSelector(R.drawable.list_select_color);         Button button = (Button) findViewById(R.id.button);        button.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                // TODO Auto-generated method stub                text.add("10000");                adapter.notifyDataSetChanged();            }        });    }}

?

?

import java.util.ArrayList; import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.view.View.OnClickListener;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast; import com.ql.activity.R; public class DeletableAdapter extends BaseAdapter {    private Context context;    private ArrayList<String> text;     public DeletableAdapter(Context context, ArrayList<String> text) {        this.context = context;        this.text = text;    }     @Override    public int getCount() {        // TODO Auto-generated method stub        return text.size();    }     @Override    public Object getItem(int position) {        // TODO Auto-generated method stub        return text.get(position);    }     @Override    public long getItemId(int position) {        // TODO Auto-generated method stub        return position;    }     @Override    public View getView(int position, View convertView, ViewGroup parent) {        // TODO Auto-generated method stub        final int index = position;        View view = convertView;        if (view == null) {            LayoutInflater inflater = (LayoutInflater) context                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);            view = inflater.inflate(R.layout.row_simple_list_item_2, null);        }        final TextView textView = (TextView) view                .findViewById(R.id.simple_item_1);        textView.setText(text.get(position));        final ImageView imageView = (ImageView) view                .findViewById(R.id.simple_item_2);        imageView.setBackgroundResource(android.R.drawable.ic_delete);        imageView.setTag(position);        imageView.setOnClickListener(new OnClickListener() {             @Override            public void onClick(View v) {                // TODO Auto-generated method stub                text.remove(index);                notifyDataSetChanged();                Toast.makeText(context, textView.getText().toString(),                        Toast.LENGTH_SHORT).show();            }        });        return view;    }}

?

?

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="wrap_content">    <ImageView        android:id="@+id/simple_item_2"        android:layout_width="wrap_content"        android:layout_height="fill_parent"        android:layout_alignParentRight="true"        android:focusable="false" />    <TextView        android:id="@+id/simple_item_1"        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:layout_alignParentLeft="true" /></RelativeLayout>

?

这里要实现点击ListView里面的一个控件而不是选中一行。

最好重写Adapter,而不要使用其自带的SimpleAdapter,否则该子控件的事件就不那么好处理了!

?

?

热点排行