如何刷新listview

时间:2015-09-21 09:01:37

标签: android listview

我想启用和禁用某些LinearLayout。这是在ListView项目中。我调用了notifyDataSetChanged。但是没有调用getView并且布局不可见。如何刷新GetView中的OnClick内部的视图?

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        RelativeLayout relativeLayout = new RelativeLayout(this.getActivity());
        TextView textView = new TextView(this.getActivity());
        textView.setText("Simply dummy text");

        relativeLayout.addView(textView);
        relativeLayout.addView(cameraView);

        return relativeLayout;
}

3 个答案:

答案 0 :(得分:0)

您需要更新适配器数据/型号而不是您的项目视图,然后您可以致电notifyDataSetChanged();刷新ListView

答案 1 :(得分:0)

将这些Porperties设置为ListView

android:focusableInTouchMode="false"
android:clickable="false"
android:focusable="false"

然后在onClick上直接设置Visibilty,无需刷新

 openBtn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                replyView.setVisibility(View.VISIBLE);
                openBtn.setImageResource(R.drawable.list_btn_up);
            }
        });

答案 2 :(得分:0)

你也可以使用它:

myListView.invalidateViews();

OR

修改该适配器中的数据后,在notifyDataSetChanged()对象上调用Adapter