Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 列表视图不显示?_Java_Android_Listview - Fatal编程技术网

Java 列表视图不显示?

Java 列表视图不显示?,java,android,listview,Java,Android,Listview,我试图显示java课程列表,并在Android Studio中为我的主java类中的一个按钮创建了一个listview,但当我尝试运行并单击该按钮时,它会打开另一个窗口,但listview尚未显示,它位于Android Studio的预览窗格中 以下是我的java类代码: package unitysoftwenteam.mymainuidesign; import android.support.v7.app.AppCompatActivity; import android.os.Bund

我试图显示java课程列表,并在Android Studio中为我的主java类中的一个按钮创建了一个listview,但当我尝试运行并单击该按钮时,它会打开另一个窗口,但listview尚未显示,它位于Android Studio的预览窗格中

以下是我的java类代码:

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);
}
}
这是我的XML代码:

<?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>

实际上,您做的每件事都是对的,但您只需指定要与
列表视图相适应的列表即可:

adapter = new ArrayAdapter(JAVA_ACTIVITY.this, android.R.layout.simple_list_item_1, list);
试试这个代码

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);
  }

您没有将数据发送到适配器。您创建的“列表”。适配器需要数据和视图来绑定和填充数据和视图。您已指定布局,但缺少数据

把它换成

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

您没有在任何地方使用
列表。将其作为参数发送到
ArrayAdapter
。使用ArrayAdapter.adapter=newArrayAdapter(MainActivity.this,android.R.layout.simple_List_item_1,List)的[this](,int,int,java.util.List))构造函数;你忘了什么