2012-02-13 14 views
2

私はListViewを持っています。 listViewに条件を指定して項目を追加する必要があります(true)。私はアダプターをクリアしてtrue項目を追加しようとしました。また、false項目を削除しようとしました。しかし、私は何かが欠けているようです。 私は何が欠けているかを見つけるのを助けてください。ここアダプタをクリアしてアイテムを追加すると、バグ修正

は、ここでの主な活動

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; 
} 

答えて

2

は私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()); 
です

と解決済みの問題:

関連する問題