Android: ListView не отображает CheckBox с текстом - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь создать список CheckBox в ListView, но он показывает только текст CheckBox, а не CheckBox с соответствующим текстом.

Когда вы вводите текст в EditText и нажимаете наКнопка Создать, она должна отображать флажок с текстом.

XML

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/rootContainer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <ListView
        android:id="@+id/taskListView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    </ListView>

    <EditText
        android:id="@+id/new_task"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="New Task"
        android:inputType="textCapSentences" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Create" />

</LinearLayout>

JAVA

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

    context = this;

    Button button = (Button) findViewById(R.id.button);

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            ListView listView = findViewById(R.id.taskListView);

            EditText newTask = findViewById(R.id.new_task);

            CheckBox checkBox = new CheckBox(MainActivity.this);

            String task = newTask.getText().toString();
            newTask.setText(task);
            checkBox.setText(task);

            ArrayList<String> list = new ArrayList<>();
            list.add(task);

            ListAdapter myListAdapter = new ArrayAdapter<String>(context, android.R.layout.simple_list_item_1, list);
            ListView taskListView = (ListView) findViewById(R.id.taskListView);
            taskListView.setAdapter(myListAdapter);
        }
    });
}
...