所以我有一個自定義列表適配器,我創建了我試圖使動態。它開始爲空,然後用戶可以動態添加或刪除項目。除了一件事情之外,一切正常:適配器的'getView'不會被調用,因爲我的更新了適配器,因此該項目的標題 - 顯然 - 沒有設置(而是顯示它的地址)。 下面是更新數組的代碼:自定義ArrayAdapter'getView'方法不會被更新時調用
private void newTab(String name, String url){
_tabAdapter.add(new Article(name,url));
_tabAdapter.notifyDataSetChanged();
_tabCount++;
}
下面是適配器本身的代碼:
public class TabAdapter extends ArrayAdapter<Article>{
Context _context;
@Override
public int getCount() {
return _tabCount;
}
public TabAdapter(Context c) {
super(c, R.layout.tab_item);
_context=c;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater=(LayoutInflater) _context.
getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View _view = inflater.inflate(R.layout.tab_item, parent,false);
TextView _itemText = (TextView) _view.findViewById(R.id.tab_text);
Article getArticle = getItem(position);
String newName = getArticle.getName();
_itemText.setText(newName);
return _view;
}
}
現在一切工作正常 - 甚至的OnClick的偉大工程,正確地得到紡織機械展覽會的名字,它是隻是不顯示項目名稱的列表本身。我必須錯過一些非常基本的東西,但我找不到它是什麼。任何幫助,將不勝感激。
更新:雖然它不是提到確切的解決問題的辦法,我設法通過了「文章」類創建一個「的toString()」方法來解決它 - 所以現在的標題顯示爲它應該 - 除了它不是一個非常優雅的解決方案。
您的「更新」代碼是將一個項目添加到列表的末尾。您沒有向我們展示您如何更改現有項目的標題。或者你是否說你添加的新項目顯示不正確? – goto10
後者。新項目顯示的是內存地址而不是標題。 –