2017-09-23 5 views
0

Ich versuche, eine Liste von Java-Lektionen anzuzeigen und eine Listenansicht für eine Schaltfläche in meiner Haupt-Java-Klasse in Android Studio erstellt, aber wenn ich versuche, zu starten und auf die Schaltfläche klicken, öffnet es ein anderes Fenster, aber die Listenansicht wird noch nicht angezeigt Es befindet sich im Vorschaubereich von Android Studio.Listenansicht nicht angezeigt?

Hier ist meine Java-Klassencode:

package unitysoftwenteam.mymainuidesign; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.widget.ListView; 
import android.widget.ArrayAdapter; 
import java.util.ArrayList; 
import java.util.List; 

public class JAVA_ACTIVITY extends AppCompatActivity { 

ListView listview; 
List list = new ArrayList(); 
ArrayAdapter adapter; 

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

    listview = (ListView)findViewById(R.id.jtutoriallist); 

    list.add("About Java"); 
    list.add("Print Hello Java"); 
    list.add("Variables"); 
    list.add("Updating Variables"); 
    list.add("Displaying the Output"); 
    list.add("String Variables"); 
    list.add("String Concatenation"); 
    list.add("Variable Names"); 
    list.add("Data Types"); 
    list.add("Variable Arithmetic"); 
    list.add("Casting"); 
    list.add("Control Flow"); 
    list.add("If Statement"); 
    list.add("Variable Scope"); 
    list.add("Else Statement"); 
    list.add("Else-If"); 
    list.add("Boolean Expressions"); 
    list.add("Logical Operators"); 
    list.add("Nested If Statements"); 
    list.add("Switch Statement"); 

    adapter = new ArrayAdapter(JAVA_ACTIVITY.this, 
    android.R.layout.simple_list_item_1); 
    listview.setAdapter(adapter); 
} 
} 

Das ist mein XML-Code:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 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="unitysoftwenteam.mymainuidesign.JAVA_ACTIVITY"> 

    <ListView 
    android:id="@+id/jtutoriallist" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_alignParentTop="true" /> 
</RelativeLayout> 
+0

Sie Ihre '' 'list''' überall nicht verwenden. Schicken Sie es als Argument zu '' 'ArrayAdapter'''. Verwenden Sie [this] (https://developer.android.com/reference/android/widget/ArrayAdapter.html#ArrayAdapter(android.content.Context, int, int, java.util.List )) Konstruktor von ArrayAdapter. –

+0

Adapter = neuer ArrayAdapter (MainActivity.this, android.R.layout.simple_list_item_1, Liste); du hast etwas vergessen – notTdar

Antwort

1

Eigentlich Recht alles, was du getan, aber Sie müssen nur die Liste an, die Sie wollen Anpassung mit der ListView:

adapter = new ArrayAdapter(JAVA_ACTIVITY.this, android.R.layout.simple_list_item_1, list); 
0

Versuchen Sie diesen Kodex

ListView listview; 
List list; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    list = new ArrayList(); 
    listview= (ListView) findViewById(R.id.jtutoriallist); 

    lists = (ListView) findViewById(R.id.lists); 
    list.add("About Java"); 
    list.add("Print Hello Java"); 
    list.add("Variables"); 
    list.add("Updating Variables"); 
    . 
    . 
    . 

    ArrayAdapter adapter = new ArrayAdapter(MainActivity.this, android.R.layout.simple_list_item_1, list); 
    lists.setAdapter(adapter); 
    } 
0

Sie haben vergessen, Ihre Daten an den Adapter zu senden. die 'Liste', die du erstellt hast. Ein Adapter benötigt Daten und View, um dieselben zu binden und zu füllen. Sie haben das Layout angegeben, aber die Daten sind nicht vorhanden.

es nur in Ändern

adapter = new ArrayAdapter(JAVA_ACTIVITY.this, 
    android.R.layout.simple_list_item_1,list); 
    listview.setAdapter(adapter); 
Verwandte Themen