A. android Item长按弹出删除,点击删除执行删除对应的文件
java"> {
@Override
publicintgetCount(){
returnlist.size();
}
@Override
publicObjectgetItem(intarg0){
returnlist.get(arg0);
}
@Override
publiclonggetItemId(intarg0){
returnarg0;
}
@Override//最主要的重写方法
publicViewgetView(intarg0,Viewarg1,ViewGrouparg2){
Viewview=View.inflate(显示list的Activity.this,
ListView的item是个xml布局文件(R.layout.????),null);
Buttonbt_enter=(Button)view.findViewById(R.id.bt_enter);
//获取ListView的一个控件,这里面获取了一个Button
//注意看,有一个参数intarg0,这个参数很重要是这个item在listView的位置
//声明一个final的值,并把arg0的值赋值给他
finalintposition=arg0;
bt_enter.setOnClickListener(newOnclickListenner(){
//重写方法,你懂的
//在这里就可以操作position对应的条目
});
returnview;
}
}
写一个内部类,Myadapter继承BaseAdapter,在需要把listView适配的地方listView.setAdapter(new MyAdapter());
B. 请问在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会自动更新显示的内容。
C. 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
D. 在android系统 里的 gallery什么意思啊
在Android操作系统中,"gallery"指的是系统自带的图库功能,类似于一个图片浏览控件。这个控件在布局文件中通过``标签进行定义,比如:``。在实际应用中,开发者会通过`findViewById`获取这个控件,并设置图片源,如使用`setAdapter`方法,以及设置点击事件监听,如`OnItemClickListener`,以便在用户点击图片时显示相应位置信息。
Gallery控件的创建和使用涉及以下步骤:
1. 在主类中,首先找到Gallery控件并赋值给一个变量,比如`Gallery g = (Gallery) findViewById(R.id.gallery);`。
2. 设置图片源,通过创建`ImageAdapter`类,该类包含一个图片数组`mImageIds`,如`R.drawable.sample_1, R.drawable.sample_2...`。
3. 创建`ImageAdapter`实例,并设置其构造函数中的`Context`参数。
4. 重写`getCount()`、`getItem()`、`getItemId()`方法以获取图片数量和位置。
5. 实现`getView()`方法,动态生成ImageView并设置其图片资源、布局和比例类型。
通过以上步骤,开发者可以实现一个在Android系统中用于展示和浏览图片的Gallery控件。
E. androidstudio怎么使用localstorage
androidstudio使用localstorage方法如下:
1、存储数据:直接给localStorage添加一个属性,localStorage里面的数据是以键值对的方式存在的,可以使用getItem()和setItem()方法设置和获取数据。
2、androidstudio使用localStorage将第一次请求的数据直接存储到本地,相当于一个5M大小的,针对于前端页面的数据库。