隐藏checkedtextview的复选框

时间:2011-04-08 11:56:15

标签: android

我在listview.i中使用checkedtextview想要在首次加载列表视图时显示文本视图。当我点击一个按钮时,我想用不同的数据填充列表视图,并且还应该显示该复选框。(im最初无法隐藏已检查textview的复选框).plz帮助我

3 个答案:

答案 0 :(得分:6)

我只想使用一个自定义适配器,它将返回TextView或CheckedTextView,具体取决于您是否单击了按钮。

您也可以尝试checkedTextView.setCheckMarkDrawable(null);

答案 1 :(得分:0)

<CheckedTextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeightSmall"
android:checkMark="@null"/>

答案 2 :(得分:0)

这个问题已经过时了,但这可能有助于未来的人

第1步

在onCreate中创建一个boolean变量以简化if|else|while方法(将在步骤3中使用)

 boolean changedData = true;

第2步

  

我想在首次加载d列表视图时显示文本视图

保持代码不变,假设它看起来像这样

ArrayAdapter<String> adapter
                        = new ArrayAdapter<String>(yourActivity.this,
                        android.R.layout.simple_list_item_1,
                        yourData);
listView.setAdapter(adapter);

第3步

  

当我点击一个按钮时,我想用不同的数据填充列表视图,并且还应该显示复选框

只需像这样创建一个新按钮

 populateBtn.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View v) {
        if (changedData == true) {
            ArrayAdapter<String> adapter 
                                    = new ArrayAdapter<String>(yourActivity.this,
                                    android.R.layout.simple_list_item_multiple_choice,
                                    differentData);
           listView.setAdapter(adapter);
           changedData = false;
        }else if (changedData == false) {
                 ArrayAdapter<String> adapter 
                                    = new ArrayAdapter<String>(yourActivity.this,
                                    android.R.layout.simple_list_item_1,
                                    yourData);
           listView.setAdapter(adapter);
           changedData = true;
        }
   });
}

这样,当您第一次点击按钮时,您会收到ListView CheckBox的新数据

再次点击该按钮后,它将返回ListView,但没有CheckBox旧数据

如果您想使CheckBox可检查,请阅读此链接中的答案

Simple list item multiple choice not selecting items