ListView 动态多重嵌套
来源:互联网 发布:儿童上网控制软件 编辑:程序博客网 时间:2024/05/21 14:50
public class TestView extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
List<String> list = new ArrayList<String>();
list.add("hello");
list.add("world");
list.add("1");
list.add("2");
list.add("3");
list.add("4");
/**
* 设置ListActivity的适配器
*/
setListAdapter(new MyAdapter(Test2.this,list));
}
}
/**
* 基于BaseAdapter的自定义Adapter
* @author Administrator
*
*/
class MyAdapter extends BaseAdapter{
Context context;
List<String> titles;
/**
* LayoutInflater 是将layout.xml转化成View的类
*/
LayoutInflater lif;
public MyAdapter(Context context,List<String> titles){
this.context = context;
this.titles = titles;
}
/**
* list总数
*/
public int getCount() {
return titles.size();
}
/**
* 返回 position项
*/
public Object getItem(int position) {
return null;
}
/**
* 返回itemId
*/
public long getItemId(int position) {
return position;
}
/**
* View关键代码
*/
public View getView(int position, View convertView, ViewGroup parent) {
MyView mv;
final int pos = position;
/**
* 自定义的view就是修改这个convertView就可以了
*/
if(convertView == null){
mv = new MyView();
lif = LayoutInflater.from(context);//转化到context这个容器
convertView = lif.inflate(R.layout.layout, null);//设置要转化的layout文件
mv.tv = (TextView)convertView.findViewById(R.id.Title);//取得实例
mv.btn = (Button)convertView.findViewById(R.id.Button01);//取得实例
convertView.setTag(mv);
}else{
mv = (MyView)convertView.getTag();
}
mv.tv.setText(titles.get(position));
mv.tv.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Log.d("abd---", Integer.toString(pos));
}});
mv.btn.setText(titles.get(position));
/**
* 组件的事件也是在这里做
*/
mv.btn.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v) {
Toast.makeText(context, "我是Title:"+titles.get(pos)+" 的button", Toast.LENGTH_LONG).show();
}
});
return convertView;
}
/**
* 自定义的一个View
* @author Administrator
*
*/
private class MyView{
TextView tv;
Button btn;
}
}
/*mail.xml*/
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<!-- 如果是ListActivity,android:id属性的值不能随便取,只能取ID为="@android:id/list",如果只是应用ListView这个容器,id就随便啦 -->
<ListView android:id="@android:id/list" android:layout_width="wrap_content" android:layout_height="wrap_content"></ListView>
</LinearLayout>
----------------------------------
/* layout.xml*/
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/Title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Button android:text="@+id/Button01" android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>
- ListView 动态多重嵌套
- InboxLayout 多重listview 动态显示 手势操作
- 多重ScrollView、HorizontalScrollView、ListView嵌套的死磕!
- ViewPager 嵌套 ListView实现简单动态滑动
- listview嵌套
- 嵌套listview
- ListView嵌套
- 容器的多重嵌套
- iBtais 多重嵌套循环
- 黑马程序员------多重嵌套
- 解析多重嵌套json
- 多重for循环嵌套
- html多重引号嵌套
- Listview和Gridview嵌套动态扩充列表高度
- ScorllView嵌套ListView时动态设置高度时的问题
- Android中动态计算ListView高度方法(适用于ScrollView嵌套)
- listView中嵌套EditText,动态获取EditText中的值
- 动态设置ListView高度,解决跟ScrollView嵌套冲突
- 13种寂寞你有过吗
- 特殊功能寄存器
- Virtual PC 中安 装ms dos 6.22
- 拥有奢侈品的人不一定是强者
- vc2008 office2007特性包的使用心得
- ListView 动态多重嵌套
- win32平台下互斥锁的实现
- Istream函数汇总及输入函数总结
- ppc 模拟器的安装、配置,以及一些常见问题及解决方法
- sql server系统表详细说明
- 动态创建Fastreport
- 整型
- linux下显示中文字体的几个必要条件
- IT人士必去的10个网站