Cela fonctionne parfaitement avec une mise en page linéaire, mais lorsque je choisis ConstraintLayout
cela ne fonctionne pas, je ne sais pas pourquoi l'application plante
NumbersActivity.java
package com.example.bharat.learnmiwok;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import java.util.ArrayList;
public class NumbersAct extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_numbers);
ArrayList<String> words = new ArrayList<String>();
words.add("one");
words.add("two");
words.add("three");
words.add("four");
words.add("five");
words.add("six");
words.add("seven");
words.add("eight");
words.add("nine");
words.add("ten");
ArrayAdapter<String> itemsAdapter =
new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, words);
ListView listView = (ListView) findViewById(R.id.list);
listView.setAdapter(itemsAdapter);
}
}
activity_numbers.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.bharat.learnmiwok.MainActivity"
android:id="@+id/list"
android:orientation="vertical">
</android.support.constraint.ConstraintLayout>
Je vous remercie
3 réponses
Vous devez avoir un ListView
avec l'ID list
dans votre mise en page. Supprimez / modifiez le id
de votre ConstraintLayout, ajoutez une vue de liste et réessayez.
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</ListView>
Votre ConstraintLayout n'est pas un ListView.
Vous utilisez ceci:
ListView listView = (ListView) findViewById(R.id.list);
Pour rechercher un ConstraintLayout. Essayez plutôt ceci:
ConstraintLayout listView = (ConstraintLayout) findViewById(R.id.activity_main);
Cela résoudrait uniquement votre plantage, mais il est préférable d'utiliser un listView ou d'en contenir un dans ConstraintLayout pour atteindre votre objectif.
Probablement sur cette ligne tu as un crash
ListView listView = (ListView) findViewById(R.id.list);
Vous avez essayé de convertir ConstraintLayout en ListView
De nouvelles questions
android
Android est le système d'exploitation mobile de Google, utilisé pour la programmation ou le développement d'appareils numériques (Smartphones, tablettes, automobiles, téléviseurs, Wear, Glass, IoT). Pour les sujets liés à Android, utilisez des balises spécifiques à Android telles que l'intention d'Android, l'activité d'Android, l'adaptateur Android, etc. Pour les questions autres que le développement ou la programmation, mais liées au cadre Android, utilisez ce lien: https: // android.stackexchange.com.