2012-02-13 4 views
2

ListView가 있습니다. listView에 조건을 추가해야합니다 (true). 나는 어댑터를 지우고 참 항목을 추가하려고 시도했다. 또한 거짓 항목을 제거하려고 시도했다. 하지만 뭔가 빠진 것 같아. 내가 빠진 것을 찾도록 도와주세요. 여기 어댑터 지우기 및 항목 추가, 버그 수정

여기

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

하고보기입니다 주요 활동

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입니다

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

및 해결 된 문제 :