带有复选框的Android ListView:显示未知字符串

时间:2018-08-14 05:48:02

标签: android listview checkbox

我想用ListView开发一个Checkbox。 但是,显示未知字符串。

image

这是什么字符串? 为什么显示此字符串?

主要:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ListView lvCB = findViewById(R.id.lvCB);

        List<Object> cbList = new ArrayList<>();
        cbList.add(MainActivity.this);

        ArrayAdapter<Object> adapter = new ArrayAdapter<>(MainActivity.this, R.layout.row, cbList);
        lvCB.setAdapter(adapter);
    }
}

main.xml

<?xml version="1.0" encoding="utf-8"?>
<ListView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/lvCB"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

row.xml

<?xml version="1.0" encoding="utf-8"?>

<CheckBox xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/cb01"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text=""/>

2 个答案:

答案 0 :(得分:1)

  

List cbList = new ArrayList <>();
       cbList.add(MainActivity.this);

您想开发@Wakya是什么?

如果您只是想创建一个CheckBox,请列出String

List<String> list = new ArrayList<>();
list.add("one");
list.add("two");

如果您问为什么那个未知的字符串。

该字符串是MainActivity.class的对象引用。如果您将ArrayList设为MainActivity.class实例,便可以理解。

答案 1 :(得分:0)

您要在此处添加活动上下文,因此会将活动上下文作为字符串添加到列表中

top_movies = Movie.objects.annotate(avg=Avg("rating__rating")).order_by('-avg')[:5]

只需使用

cbList.add(MainActivity.this);