0
我試圖創建一個自定義適配器,以便在運行時將項目添加到網格(使用GridView),以響應用戶單擊按鈕。當用戶使用自定義適配器單擊按鈕時向GridView添加項目
添加到網格中的每個項目都包含2個TextView項目和一個ImageView項目。要存儲在每個TextView項目中的文本由用戶在點擊按鈕之前提供。
我無法找到如何做到這一點網上的任何例子,所以我只是看着例子,包括那個初始化網格中的應用程序啓動這個功能,比如當一個自定義網格適配器:
唯一的問題是我沒有可以預編程的字符串數組,因爲這些是由用戶在運行時輸入確定的,每個添加到網格的對象只應在按鈕被單擊時纔會出現,否則,屏幕應該是空白的。
我嘗試用ArrayList替換字符串數組,然後添加一個可以在單擊該按鈕後調用的方法,該方法向ArrayList添加一個String,然後調用notifyDataSetChanged();可悲的是,這似乎並不奏效。見適用代碼片段如下:
private List<String> list = new ArrayList<>();
public void addString(String s) {
list.add(s);
this.notifyDataSetChanged();
}
public View getView(int position, View convertView, ViewGroup parent) {
Viewt view;
LayoutInflater inflater = (LayoutInflater) mContext.
getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
convertView = inflater.inflate(R.layout.l, parent, false);
view = new Viewt();
view.tview = (TextView) convertView.findViewById(R.id.textView);
convertView.setTag (view);
} else {
view = (Viewt) convertView.getTag();
}
view.tview.setText(list.get(position));
return convertView;
}
public static class Viewt {
TextView tviewone;
}
嗨拉曼,你是對的 - 我剛剛添加它,但它沒有任何區別我的代碼工作:( – javapalava