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大小的,針對於前端頁面的資料庫。