2013-12-23 55 views
0

我创建了一个修改后的ListView,以便在屏幕上显示各种信息。现在我想对用户点击的视图执行单独的操作,例如使其不可见。Android动态修改列表

我尝试了一些,但它似乎并没有正常工作。它使各4次无形的,而不是仅仅1

public class affichageListViewAdapter extends BaseAdapter { 
    public void actionC(){ 
     ListListView.get(0).test(); 
    } 
// some more code ... 
} 

public class affichageListView extends LinearLayout { 
    // some more code ... 
    public void test(){ 
     textViewTest.setVisibility(GONE); 
    } 
} 


public class listeVideo extends ListFragment{ 
    private affichageListViewAdapter adapter; 
    @Override 
    public void onListItemClick(ListView l, View v, int position, long id) { 
     super.onListItemClick(l, v, position, id); 

     adapter.test(); 
    } 
} 

public class affichageListView extends LinearLayout { 
    private TextView mTextView; 

    public affichageListView(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
     init(); 
    } 

    public affichageListView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     init(); 
    } 

    public affichageListView(Context context) { 
     super(context); 
     init(); 
    } 

    private void init() { 
     inflate(getContext(), R.layout.affichafe_list_view, this); 
     mTextView = (TextView) findViewById(R.id.textViewTitre); 
    } 

} 

回答

1

我的目的,你应该有布尔的数组元素在适配器中,与每一个。然后,在你的适配器添加这个方法:

public void hideItem(int position){ 
    positionsToShow.get(position) = false; 
    notifyDataSetChanged(); 
} 

public void showItem(int position){ 
    positionsToShow.get(position) = true; 
    notifyDataSetChanged(); 
} 

而在你的getView你应该把:

if(!positionsToShow.get(position)){ 
    //textView.setVisibility(View.INVISIBLE); 
} 
+0

非常感谢您的帮助:) –

+0

你是惠康。 –