导航:首页 > 操作系统 > androidlistview隐藏列

androidlistview隐藏列

发布时间:2025-08-30 01:03:07

1. android中listview怎么用

创建继承BaseAdapter并实现其抽象方法的类MyListViewAdapter
说明
下面的讲解中,只创建自定义的适配器类,如何使用请参考android中常用控件的使用之ListView
1.创建类MyListViewAdapter
创建类MyListViewAdapter,该类继承BaseAdapter,并实现其抽象方法:
1
2
3
4

int getCount();
Object getItem(int position);
long getItemId(int position);
View getView(int position,View convertView,ViewGroup parent);

getCount需要返回有多少个item,也就是说最会在listview中展示这么多行
getItem需要返回参数position位置的数据
getItemId返回position就行了
2.给MyListViewAdapter类添加成员变量和构造方法
两个成员变量
1
2

List<String> list;
Context context;

list表示要显示的数据,context变量在生成View对象时需要用到
构造方法:构造方法是为了给两个成员变量赋值
1
2
3
4

public MyListViewAdapter(List<String> list , Context context) {
this.list = list;
this.context = context;
}

3.给getCount,getItem,getItemId方法添加代码
getCount需要返回有多少个item,也就是说最会在listview中展示这么多行,所以返回list.size
getItem需要返回参数position位置的数据,也就是list中第position项的值list.get(position)
getItemId返回position就行了
1
2
3
4
5
6
7
8
9
10
11
12
13
14

@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;
}

4.给getView方法添加代码
getView方法是返回位置为position的View对象,第二个参数convertView考虑到资源重用问题,在上下滑动的过程中,需要显示某项的时候才会调用getView方法,而如果有某项被隐藏不显示,就会把不显示那一行的View作为convertView参数传入,如果没有某项被隐藏,convertView值为null。可以通过下面代码中的if(convertView!=null)中的输出来看哪一行被隐藏了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

@Override
public View getView(int position, View convertView, ViewGroup parent) {
System.out.println("调用getView方法,显示position="+position+"项");
if(convertView!=null){
TextView t = (TextView) convertView.findViewById(R.id.firstTextView);
System.out.println(t.getText());
}else{
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = layoutInflater.inflate(R.layout.item_mylistviewadapter, null);
}
TextView t = (TextView)(convertView.findViewById(R.id.firstTextView));
t.setText(list.get(position));
if(position%2==0)
{
t.setBackgroundColor(Color.WHITE);

}
else{
t.setBackgroundColor(Color.GRAY);
}
return convertView;
}

补充:通过xml生成View对象
通过Context对象生成一个LayoutInflater对象
调用LayoutInflater对象的inflate方法生成控件对象,inflate方法的第一个参数为xml文件,第二个参数一般为null。返回值为该xml文件最外层的标签对象。
1
2

LayoutInflater layoutInflater =(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout convertView =(LinearLayout)layoutInflater.inflate(R.layout.item_mylistvie

源代码下载
pan..com/s/1ntuQDdv

2. android listview怎么显示或者隐藏某一控件

譬如你猛汪氏设个textview tx; tx.setVisibility(View.GONE);这个就是设置控件隐藏
tx.setVisibility(View.VISIBLE);这个是设置控陵昌件显示枝散

3. 请问在android的listView中怎么动态加入radioButton和Button按钮

在Android的ListView中动态加入RadioButton和Button按钮,首先需要一个bean来存储数据。这个bean里可以包含一个标志位,用来标记是要显示RadioButton还是Button。在自定义的Adapter中的getView方法里,根据这个标志位来决定显示哪种类型的按钮。为了实现这一点,布局文件中需要包含两个按钮,一个RadioButton和一个Button,只是在初始状态下,一个按钮会被隐藏。具体来说,可以通过设置这些控件的visibility属性来实现。

当软件的下载状态或安装状态发生变化时,bean中的标志位会随之更新。此时,只需调用Adapter的notifyDataSetChanged()方法,ListView就会重新绘制,显示最新的按钮。

举个例子,假设你的bean类如下所示:

public class MyBean {
private int type; // 0表示RadioButton,1表示Button
private String text;
...
}

在Adapter的getView方法里,你可以这样处理:

public View getView(int position, View convertView, ViewGroup parent) {
MyBean bean = getItem(position);
View view = LayoutInflater.from(context).inflate(R.layout.item_layout, null);
RadioButton radioButton = view.findViewById(R.id.radio_button);
Button button = view.findViewById(R.id.button);
if (bean.getType() == 0) {
button.setVisibility(View.GONE);
radioButton.setVisibility(View.VISIBLE);
} else {
radioButton.setVisibility(View.GONE);
button.setVisibility(View.VISIBLE);
}
return view;
}

这样,每次数据发生变化时,ListView会自动更新显示的内容。

阅读全文

与androidlistview隐藏列相关的资料

热点内容
新湖app在哪里下载 浏览:703
计算机图形学涉及的算法 浏览:369
阿里云linux一键web 浏览:25
弹性云服务器注册 浏览:169
垃圾程序员写出垃圾代码 浏览:760
帝国时代java下载 浏览:51
数据结构的经典算法题 浏览:194
逍遥安卓多开管理器是干什么的 浏览:914
程序员收玉米一天多少钱 浏览:353
程序员很可爱根据哪本小说改编的 浏览:984
游戏旧版安卓怎么玩 浏览:263
冗余单片机 浏览:849
cad抽壳命令怎么用 浏览:29
服务器第一地址怎么改 浏览:498
单片机最小系统电路设计流程图 浏览:666
steam源码 浏览:35
关于对数的运算法则及公式 浏览:778
明星谈如何缓解压力 浏览:147
androidlistview隐藏列 浏览:402
plc跑马灯编程 浏览:823