优化 ListView 示例



 Item的布局文件: 

 

<ImageView

       android:layout_width="wrap_content"

       android:layout_height="wrap_content"

       android:src="@mipmap/ic_launcher"

       android:layout_marginRight="16dp"

       android:id="@+id/imageView" />

 

   <TextView

        android:layout_width="wrap_content"

       android:layout_height="wrap_content"

       android:text="New Text"

       android:id="@+id/textView" />

</LinearLayout>


 

______________________________________________________________________________-

 

XML布局文件代码:

 

  

<ListView

       android:layout_width="match_parent"

       android:layout_height="match_parent"

       android:id="@+id/listView"

       android:layout_alignParentTop="true"

       android:layout_alignParentStart="true" />

</RelativeLayout>


 

 

----------------------------------------------------------------------------------------------------------------------------------------------

 

Main5Activity部分代码:

 

 

public class Main5Activity extendsAppCompatActivity {

 

   private ListView listView;

   @Override

   protected void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       setContentView(R.layout.activity_main5);

       listView = (ListView) findViewById(R.id.listView);

       listView.setAdapter(new MyAdapter(this));

       listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

           @Override

           public void onItemClick(AdapterView<?> parent, View view, intposition, long id) {

                TextView tv = (TextView)view.findViewById(R.id.textView);

               Toast.makeText(Main5Activity.this, tv.getText().toString(),Toast.LENGTH_SHORT).show();

           }

       });

    }

 

   private static class MyAdapter extends BaseAdapter{

       private Context context;

       private String[] titles = {

                "百度音乐","拨号","电子邮件","短信","计算器","联系人","日历","设置","时钟","图库","微信",

                "下载","百度音乐","拨号","电子邮件","短信","计算器","联系人","日历","设置","时钟","图库","微信",

                "下载",

       };

       private int[] images = {

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

               R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher,

                R.mipmap.ic_launcher

       };

       public MyAdapter(Context context){

           this.context = context;

       }

       @Override

       public int getCount() {

           return titles.length;

       }

 

       @Override

       public Object getItem(int position) {

           return titles[position];

       }

 

       @Override

       public long getItemId(int position) {

            return position;

       }

 

       @Override

       public View getView(int position, View convertView, ViewGroup parent) {

           //convertView

           //System.out.println("11111111111111");

           ViewHolder vh;

           if(convertView==null) {

                convertView =LayoutInflater.from(context).inflate(R.layout.item_layout, null);

                vh = new ViewHolder();

                vh.iv = (ImageView)convertView.findViewById(R.id.imageView);

                vh.tv = (TextView)convertView.findViewById(R.id.textView);

                convertView.setTag(vh);

           }

           System.out.println(convertView);

           vh = (ViewHolder) convertView.getTag();

//            ImageView iv = (ImageView)convertView.findViewById(R.id.imageView);

//            TextView tv = (TextView)convertView.findViewById(R.id.textView);

           vh.iv.setImageResource(images[position]);

           vh.tv.setText(titles[position]);

           return convertView;

       }

 

        private static class ViewHolder{

           ImageView iv;

           TextView tv;

       }

    }

 

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值