android多listview
❶ android怎么实现listview置顶和取消置顶上下文菜
1、首先你要实现ListView。
2、其次是要自己继承Arrayadapter。
3、最后,因为要用枝滚到数据的排序,所以使用Arrayadapter绑定你的数据即可。Android是一个开源的,基于Linux的移动设备操作系统,主要使用于移动设备穗搭旁,如智能手机和平板电脑猜橡。
❷ android 怎么让listview 不够一屏 占满一屏
如果不够一个屏幕的时候,可以根据listview的高度跟屏幕进行比较,当不足一屏幕的时候,就可以重新设置listview的高度
❸ android 中listview是怎么用的
表的显示需要三个元素:
1.ListVeiw 用来展示列表的View。
2.适配器 用来把数据映射到ListView上的中介。
3.数据 具体的将被映射的字符串,图片,或者基本组件。
根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter
其中以ArrayAdapter最为简单,只能展示一行字。SimpleAdapter有最好的扩充性,可以自定义出各种效果。SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来。
我们从最简单的ListView开始:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/**
* @author allin
*
*/
public class MyListView extends Activity {
private ListView listView;
//private List<String> data = new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
listView = new ListView(this);
listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,getData()));
setContentView(listView);
}
private List<String> getData(){
List<String> data = new ArrayList<String>();
data.add("测试数据1");
data.add("测试数据2");
data.add("测试数据3");
data.add("测试数据4");
return data;
}
}
上面代码使用了ArrayAdapter(Context context, int textViewResourceId, List<T> objects)来装配数据,要装配这些数据就需要一个连接ListView视图对象和数组数据的适配器来两者的适配工作,ArrayAdapter的构造需要三个参数,依次为this,布局文件(注意这里的布局文件描述的是列表的每一行的布局,android.R.layout.simple_list_item_1是系统定义好的布局文件只显示一行文字,数据源(一个List集合)。同时用setAdapter()完成适配的最后工作。运行后的现实结构如下 :
SimpleCursorAdapter
sdk的解释是这样的:An easy adapter to map columns from a cursor to TextViews or ImageViews defined in an XML file. You can specify which columns you want, which views you want to display the columns, and the XML file that defines the appearance of these views。简单的说就是方便把从游标得到的数据进行列表显示,并可以把指定的列映射到对应的TextView中。
❹ android fragment中有Listview,通过点击item跳转到另一个有ListView的fragment中
用FrameLayout和fragment 的通用的方式
public void backToOrder(){
IndexTag = 3;//表示在第三个Fragment
initFoot();//初始化底部颜色变化
imgMews.setImageResource(R.mipmap.icon_lightyou_r4_c8);
tvNews.setTextColor(getResources().getColor(R.color.Zhu));
//下面的mContainer是FrmeLayout R.id.lay_news相当于是第三个Fragment的引用
Fragment fragment = (Fragment) mFragmentPagerAdapter
.instantiateItem(mContainer, R.id.lay_news);
mFragmentPagerAdapter.setPrimaryItem(mContainer, 0, fragment);
mFragmentPagerAdapter.finishUpdate(mContainer);
}
//点击R.id.lay_news 也就是那个布局的设置
case R.id.lay_news:
IndexTag = 3;
initFoot();
imgMews.setImageResource(R.mipmap.icon_lightyou_r4_c8);
tvNews.setTextColor(getResources().getColor(R.color.Zhu));
break;
Fragment fragment = (Fragment) mFragmentPagerAdapter.instantiateItem(mContainer, view.getId());
mFragmentPagerAdapter.setPrimaryItem(mContainer, 0, fragment);
mFragmentPagerAdapter.finishUpdate(mContainer);
❺ androidstudio如何拉长listview
androidstudio拉长listview的方法:
1、在布局文件中添加ListView。
2、divider属性表耐燃示ListView中嫌亩仿视图之间的分割线,dividerHeight属性表示分割线的芹纤高度,即粗细程序,将ListView的分割线设置为红色,高度设置为5dp。
3、通过数组资源或者使用适配器(Adapter)来设置ListView显示的内容即可。
❻ 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