public class MainActivity extends AppCompatActivity { private ListView listview; private ArrayList<bean> list; private boolean flag=false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listview = (ListView) findViewById(R.id.listview); list = new ArrayList<bean>(); for (int i=0;i<15;i++){ list.add(new bean("标题:"+i,false)); } listview.setAdapter(new myadapter()); listview.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { } }); } class myadapter extends BaseAdapter{ @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 vh=null; if (convertView==null){ vh=new viewholder(); convertView=convertView.inflate(MainActivity.this,R.layout.item,null); vh.tv= (TextView) convertView.findViewById(R.id.tv); vh.cb= (CheckBox) convertView.findViewById(R.id.cb); convertView.setTag(vh); } else { vh= (viewholder) convertView.getTag(); } vh.tv.setText(list.get(position).getTitles()); vh.cb.setChecked(list.get(position).ischeck()); vh.tv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { for (bean b:list ) { b.setIscheck(true); } notifyDataSetChanged(); } }); return convertView; } } class viewholder{ TextView tv; CheckBox cb; } } bean类public class bean { private String titles; private boolean ischeck; public bean(String titles, boolean ischeck) { this.titles = titles; this.ischeck = ischeck; } public String getTitles() { return titles; } public void setTitles(String titles) { this.titles = titles; } public boolean ischeck() { return ischeck; } public void setIscheck(boolean ischeck) { this.ischeck = ischeck; } } xml item:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp" /> <CheckBox android:id="@+id/cb" android:layout_width="wrap_content" android:layout_height="50dp" android:checked="false" android:focusable="false" android:focusableInTouchMode="false" android:layout_marginLeft="260dp" /> </LinearLayout> activity_main:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.rikao4.MainActivity"> <ListView android:id="@+id/listview" android:layout_width="match_parent" android:layout_height="match_parent"></ListView> </LinearLayout>
listview里面添加checkbox实现单选,多选
最新推荐文章于 2018-10-29 10:05:54 发布