Android学习--Android带删除按钮的ListView
16lz
2021-12-04
?
?
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | 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(); } }); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | 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; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <? 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,否则该子控件的事件就不那么好处理了!
更多相关文章
- Android(安卓)ListView 控件学习
- Android(安卓)遍历ListView条目控件
- Android的帧布局
- Android(安卓)UI控件详解-Button(按钮)点击事件的5种写法
- android水平循环滚动控件
- android显示gif图片
- android URL获取图片显示到ImageView 控件上
- Android(安卓)UI控件详解-Notification(通知)
- Android(安卓)自绘输入框