Очистка адаптера и добавление элементов. Исправление ошибки. - PullRequest
2 голосов
/ 13 февраля 2012

У меня есть 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;
}

1 Ответ

2 голосов
/ 15 февраля 2012

Вот мои geFavoriteChapters

private ArrayList<Chapter> getFavortiveChapters()
{
    ArrayList<Chapter> chapter = new ArrayList<Chapter>();

    for (int i = 0; i < 17; i++)
    {
        if (DataStore.getHierarchicalChapters().getSubChapters().get(i)
                .isFavorite())
            chapter.add(DataStore.getHierarchicalChapters()
                    .getSubChapters().get(i));          
    }
    return chapter;
}

и представление

viewHolder.chapterName.setText(getFavoriveChapters().get(position).getTitle());

и проблема решена:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...