android 通过getViewTypeCount 和 getItemViewType实现item加载不同布局
2014-07-03 15:34
639 查看
MainActivity如下:
package cc.testlistview; import java.util.ArrayList; import java.util.HashMap; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; import android.app.Activity; /** * Demo描述: * 为ListView的Item设置不同的布局. * 例如在该例子中ListView的第一个Item显示一张 * 图片,其余的Item都显示文字. * * 为了达到此目的需要重写BaseAdapter中的 * 1 getViewTypeCount()和getItemViewType(int position)方法. * 1.1在getViewTypeCount中指定一共有几种不同的item * 在此返回2即可. * 1.2在getItemViewType(int position)中需要依据position的不同 * 返回不同的Type. * 2 在getView()方法中针对不同的Type为Item设置布局 * 2.1得到当前位置(position)时的Type即代码: * currentType= getItemViewType(position); * 2.2依据Type的不同为Item设置布局 * * 参考资料: * 1 http://blog.csdn.net/yueyue369/article/details/6115552 * 2 http://blog.sina.com.cn/s/blog_5da93c8f0100wx4v.html * Thank you very much */ public class MainActivity extends Activity { private ListView mListView; private HashMap<String, Object> mHashMap; private ArrayList<HashMap<String, Object>> mArrayList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); init(); } private void init(){ mArrayList=new ArrayList<HashMap<String,Object>>(); mListView=(ListView) findViewById(R.id.listview); addDataForListView(); mListView.setAdapter (new ListViewAdapter(MainActivity.this, mArrayList, R.layout.othersitem, new String []{"content"}, new int []{R.id.textView})); mListView.setOnItemClickListener(new ItemClickListenerImpl()); } private void addDataForListView(){ for (int i = 0; i < 30; i++) { mHashMap=new HashMap<String, Object>(); mHashMap.put("content", "This is ---> "+i); mArrayList.add(mHashMap); } } private class ItemClickListenerImpl implements OnItemClickListener { @Override public void onItemClick(AdapterView<?> parent, View view, int position,long arg) { System.out.println("OnItemClickListener position="+position); } } }ListViewAdapter如下:
相关文章推荐
- Android:ListView、SimpleAdapter、设置不同行布局、getViewTypeCount、getItemViewType
- Android ListView的不同样式,getItemViewType,getViewTypeCount
- Android ListView Adapter的getItemViewType和getViewTypeCount多种布局
- Android开发笔记之RecycleView加载不同item布局的实现
- Android关于ListView中的getItemViewType与getViewTypeCount
- android listview多种布局 getViewTypeCount和getItemViewType
- Android之ListView的getItemViewType和getViewTypeCount
- Android应用之——利用getItemViewType为Listview的item设置不同的布局
- android listview多种布局 getViewTypeCount和getItemViewType
- Android关于ListView中的getItemViewType与getViewTypeCount
- Andriod之Adapter的getViewTypeCount和getItemViewType为Listview的item设置不同的布局
- Android ListView Adapter的getItemViewType和getViewTypeCount多种布局
- Android中ListView使用getItemViewType为item设置不同的布局
- android图文混排与多种类型listView的混搭的item的demo,getItemViewType()和getViewTypeCount()的使用
- Android应用之——利用getItemViewType为Listview的item设置不同的布局
- Android ListView Adapter的getItemViewType和getViewTypeCount多种布局
- (转)Android ListView多种布局 getViewTypeCount和getItemViewType
- Android之ListView的getItemViewType和getViewTypeCount
- Android ListView Adapter的getItemViewType和getViewTypeCount多种布局
- android listview多种布局 getViewTypeCount和getItemViewType