在Android中自定义适配器
2015-02-03 22:29
267 查看
啊喂,好久没更新博客了,唉唉,真是抱歉啊!求原谅!
1、自定义列表项适配器的主要方法是:
①public int getCount()=====>此方法用来控制列表项的个数
②public View getView(int position, View convertView, ViewGroup parent)====>此方法用来控制页面
2、自定义适配器在实际开发中使用的非常灵活也非常广泛,因为,此方法一定要掌握。(虽然也有现成的适配器,但是在实际开发中使用不多)
3、在自定义适配器的过程中,需要创建一个BaseAdapter对象,扩展该对象需要重写如下四个方法:
①getCount():该方法的返回值控制该Adapter将会包含多少个列表项;
②getItem(int position):该方法的返回值决定第position处的列表项的内容;
③getItemId(int position):该方法的返回值决定第position处的列表项的ID;
④getView(int position, View convertView, ViewGroup parent):该方法的返回值决定第position出的列表项组件。
4、具体实现代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@+id/myList"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
1、自定义列表项适配器的主要方法是:
①public int getCount()=====>此方法用来控制列表项的个数
②public View getView(int position, View convertView, ViewGroup parent)====>此方法用来控制页面
2、自定义适配器在实际开发中使用的非常灵活也非常广泛,因为,此方法一定要掌握。(虽然也有现成的适配器,但是在实际开发中使用不多)
3、在自定义适配器的过程中,需要创建一个BaseAdapter对象,扩展该对象需要重写如下四个方法:
①getCount():该方法的返回值控制该Adapter将会包含多少个列表项;
②getItem(int position):该方法的返回值决定第position处的列表项的内容;
③getItemId(int position):该方法的返回值决定第position处的列表项的ID;
④getView(int position, View convertView, ViewGroup parent):该方法的返回值决定第position出的列表项组件。
4、具体实现代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@+id/myList"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
package com.example.baseadaptert; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import android.widget.AdapterView.OnItemClickListener; import android.app.Activity; import android.content.Context; public class BaseAdapterT extends Activity { private ListView myList; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); myList = (ListView) findViewById(R.id.myList); final String names[] = new String[]{"xiaoming", "xiaohua", "xiaomi", "xiaomei"}; final int images[] = new int[] {R.drawable.libai, R.drawable.nongyu, R.drawable.qingzhao, R.drawable.tiger}; // final int layoutID = R.layout.item; myList.setAdapter(new BaseAdapter() { @Override public int getCount() { return names.length; } @Override public View getView(int position, View convertView, ViewGroup parent) { Activity activity = (Activity) BaseAdapterT.this; // LinearLayout out = (LinearLayout) activity.getLayoutInflater().inflate(position, null); LinearLayout out = (LinearLayout) activity.getLayoutInflater().inflate(R.layout.item, null); ImageView iv = (ImageView) out.findViewById(R.id.imageView); iv.setImageResource(images[position]); TextView tv = (TextView) out.findViewById(R.id.textView); tv.setText(names[position]); return out; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } }); myList.setOnItemClickListener(new OnItemClickListener() {// 设置点击监听器 @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(view.getContext(), names[position], 1).show(); } }); } }
相关文章推荐
- 【Android游戏开发二十三】自定义ListView【通用】适配器并实现监听控件!
- 【Android游戏开发二十三】自定义ListView【通用】适配器并实现监听控件!
- Android自定义适配器,BaseAdapter的使用方法
- android-继承BaseAdapter--自定义适配器,getView执行多次的解决方法
- android-继承BaseAdapter--自定义适配器,getView执行多次的解决方法
- 【Android游戏开发二十三】自定义ListView【通用】适配器并实现监听控件!
- Android listview与adapter用法(包括自定义需要的适配器)
- 我的android 第20天 - 自定义适配器
- android 自定义适配器
- Android 进价5_自定义广播 通过广播更新ListView的适配器 下载管理
- 【Android游戏开发二十三】自定义ListView【通用】适配器并实现监听控件!
- Android应用--简、美音乐播放器获取专辑图片(自定义列表适配器)
- Android应用--简、美音乐播放器获取专辑图片(自定义列表适配器)
- android之自定义适配器实现ListView
- Android开发适配器系列:Spinner使用自定义适配器
- 【Android游戏开发二十三】自定义ListView【通用】适配器并实现监听控件!
- Android中自定义适配器的使用
- 【Android游戏开发二十三】自定义ListView【通用】适配器并实现监听控件!
- Android 针对继承BaseAdapter的自定义适配器应注意的几个地方
- Android自定义ListView或GridView适配器Adapter的getView方法不执行的问题