Android动态修改列表

时间:2013-12-23 13:35:19

标签: android listview

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

我尝试了一些东西,但似乎没有正常工作。它使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 个答案:

答案 0 :(得分:1)

我的目的是你的适配器中应该有一个boolean数组元素。然后,在适配器中添加此方法:

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