У меня есть ListView.Мне нужно добавить элементы в listView по условию (true).Я попытался очистить адаптер, а затем добавить истинные предметы. И также попытался удалить ложные предметы.Но, похоже, я что-то упустил.Помогите мне найти то, что мне не хватает.
вот основная деятельность
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.favorite_tab);
list = (ListView) findViewById(R.id.listView1);
mAdapter = new FavoriteListAdapter(this);
list.setAdapter(mAdapter);
getFavoriteChapt();
list.setOnItemClickListener(this);
}
public void getFavoriteChapt()
{
mAdapter.clear();
for (int i = 0; i < 17; i++)
{
if (DataStore.getHierarchicalChapters().getSubChapters().get(i)
.isFavorite() == true)
mAdapter.add(DataStore.getHierarchicalChapters()
.getSubChapters().get(i));
}
mAdapter.notifyDataSetChanged();
}
И мой CustomAdapter
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
View row = convertView;
if (row == null)
{
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row = inflater.inflate(R.layout.favorite_tab_list_view_row, parent,
false);
ViewHolder viewHolder = new ViewHolder();
viewHolder.text_view_sura_name = (TextView) row
.findViewById(R.id.searchChapterTextViewId);
row.setTag(viewHolder);
}
ViewHolder viewHolder = (ViewHolder) row.getTag();
viewHolder.text_view_sura_name.setText(Integer.toString(position)
+ DataStore.getHierarchicalChapters().getSubChapters()
.get(position).getTitle());
return row;
}