ListView

xiaoxiao2021-02-28  230

1.ListView:要使监听事件共存需要设置android:descendantFocusability="blocksDescendants"在布局文件里设置(不是ListView文件),可以使单个item可以被选中。

2. scrollview 嵌套listview重写listview时要设置setParentScrollAble(false);// 当手指触到listview的时候,让父ScrollView交出ontouch权限

3.listview 的item设置背景颜色为白色或透明时会覆盖Item的点击效果。

4." android:listSelector="#00000000" 去除listview的点击效果

6.android:divider="@null" 去除listview的item分割线

                7.listview中点击item进行Item中的控件更新操作            public class MyAdapter extends BaseAdapter

{ private Context context; private List<String> list; public MyAdapter(Context context, List<String> list) { this.context = context; this.list = list; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder=null; if (convertView==null) { convertView=LayoutInflater.from(context).inflate(R.layout.item,null); viewHolder=new ViewHolder(); viewHolder.textView= (TextView) convertView.findViewById(R.id.textview); convertView.setTag(viewHolder); }else { viewHolder= (ViewHolder) convertView.getTag(); } viewHolder.textView.setText(list.get(position)); return convertView; } // public mCallBack mcallback=null; // public void setCallBack(mCallBack mcallback) // { // this.mcallback=mcallback; // } // // // public interface mCallBack{ // void result(String text); // } static class ViewHolder{ TextView textView; } } public class MainActivity extends AppCompatActivity { private ListView listView; private List<String> list=new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView= (ListView) findViewById(R.id.listview); list.add("aaaaa"); list.add("vvvvv"); list.add("cccccc"); list.add("aaaaa11"); list.add("vvvvv11"); list.add("ccccc222c"); list.add("aaaaa112"); list.add("vv324vvv"); list.add("ccdsfdcccc"); list.add("aadfsdsaaa"); list.add("vvqqqqvvv"); list.add("cc1111cccc"); MyAdapter myAdaoter=new MyAdapter(this,list); listView.setAdapter(myAdaoter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //主要就通过底下的方法进行的 View view1 = listView.getChildAt(position); MyAdapter.ViewHolder viewHolder= (MyAdapter.ViewHolder) view1.getTag(); viewHolder.textView.setTextColor(Color.rgb(220,20,60)); } }); } }
转载请注明原文地址: https://www.6miu.com/read-39872.html

最新回复(0)