离线下载

来源:互联网 发布:cba球员数据统计 编辑:程序博客网 时间:2024/04/27 05:02
避免listview里面checkbox错乱布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context="com.example.andy.news2.activity.LiXian">    <ListView        android:id="@+id/lv"        android:layout_width="match_parent"        android:layout_height="match_parent" /></LinearLayout>MainActivity方法里的代码:
public class LiXian extends AppCompatActivity {    private ListView lv;    private List<LiXian_Data> list = new ArrayList<>();    private LiXian_Adapter adapter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_li_xian);        //查找控件        lv = (ListView) findViewById(R.id.lv);        for (int i = 0; i < 50; i++) {            LiXian_Data data = new LiXian_Data();            data.name = "item" + i;            list.add(data);        }        adapter = new LiXian_Adapter(this, list);        lv.setAdapter(adapter);    }
  class LiXian_Adapter 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 holder=null;            if(convertView==null){                convertView=View.inflate(context,R.layout.lixian_item,null);                holder=new ViewHolder();                holder.tv=(TextView)convertView.findViewById(R.id.tv);                holder.box=(CheckBox)convertView.findViewById(R.id.box);                convertView.setTag(holder);            }else{                holder= (ViewHolder) convertView.getTag();            }            final LiXian_Data dataBean = list.get(position);            holder.tv.setText(dataBean.name);            holder.box.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {                @Override                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {                    dataBean.isCheck=isChecked;                }            });            holder.box.setChecked(dataBean.isCheck);            return convertView;        }        class ViewHolder{            TextView tv;            CheckBox box;        }            }
 }

离线下载listview里面item的布局:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:padding="10dp">    <TextView        android:id="@+id/tv"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="kjfhksjfs" />    <CheckBox        android:id="@+id/box"        android:layout_width="20dp"        android:layout_height="20dp"        android:layout_alignParentRight="true"        android:checked="true"        android:background="@drawable/checkbox"        android:button="@null"/></RelativeLayout>