中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

如何在GridView中刪除選定的行

小云
149
2023-09-26 03:38:31
欄目: 編程語言

要在GridView中刪除選定的行,可以按照以下步驟進行操作:

  1. 在GridView中設置選擇模式為單選或多選模式。可以通過設置android:choiceMode屬性來實現。例如,將其設置為"singleChoice"表示單選模式,設置為"multipleChoice"表示多選模式。

  2. 創建一個適配器(Adapter)來為GridView提供數據。適配器應該繼承自BaseAdapter或其子類,并實現必要的方法。

  3. 在適配器的getView()方法中,設置每個GridView的項(item)的點擊事件監聽器。當項被點擊時,將該項添加到一個選中的項列表中(如果是多選模式)或直接進行刪除操作(如果是單選模式)。

  4. 創建一個刪除按鈕,并為其設置點擊事件監聽器。

  5. 在點擊事件監聽器中,獲取選中的項列表中的所有項,并在適配器的數據源中進行刪除操作。

  6. 調用適配器的notifyDataSetChanged()方法來通知GridView更新數據。

以下是一個示例代碼:

public class MyAdapter extends BaseAdapter {
private List<String> data;
private List<Integer> selectedItems;
public MyAdapter(List<String> data) {
this.data = data;
selectedItems = new ArrayList<>();
}
@Override
public int getCount() {
return data.size();
}
@Override
public Object getItem(int position) {
return data.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// 創建和初始化每個GridView項的視圖
// 設置點擊事件監聽器
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (gridView.getChoiceMode() == GridView.CHOICE_MODE_SINGLE) {
// 單選模式,直接刪除選中項
data.remove(position);
} else {
// 多選模式,將選中項添加到列表中
if (selectedItems.contains(position)) {
selectedItems.remove(Integer.valueOf(position));
} else {
selectedItems.add(position);
}
}
notifyDataSetChanged();
}
});
return convertView;
}
}
// 創建適配器實例并設置給GridView
List<String> data = new ArrayList<>();
MyAdapter adapter = new MyAdapter(data);
gridView.setAdapter(adapter);
// 創建刪除按鈕并設置點擊事件監聽器
Button deleteButton = findViewById(R.id.delete_button);
deleteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
List<Integer> selectedItems = adapter.getSelectedItems();
for (int i = selectedItems.size() - 1; i >= 0; i--) {
data.remove(selectedItems.get(i));
}
adapter.clearSelectedItems();
adapter.notifyDataSetChanged();
}
});

請注意,上述代碼中的gridView是指代GridView實例的變量名。在實際使用時,應該將其替換為你的GridView的變量名。

0
调兵山市| 方正县| 桐庐县| 绵竹市| 原平市| 喀喇| 丹江口市| 吴旗县| 平阴县| 沙河市| 德江县| 台东市| 昌吉市| 新乡市| 麻阳| 海伦市| 南丹县| 宁陕县| 延寿县| 观塘区| 永宁县| 彩票| 廊坊市| 横峰县| 左云县| 安新县| 高台县| 新邵县| 安陆市| 荣成市| 阿拉尔市| 海南省| 白城市| 将乐县| 台北市| 新田县| 天气| 来安县| 防城港市| 循化| 和静县|