Java 列表视图不显示?
我试图显示java课程列表,并在Android Studio中为我的主java类中的一个按钮创建了一个listview,但当我尝试运行并单击该按钮时,它会打开另一个窗口,但listview尚未显示,它位于Android Studio的预览窗格中 以下是我的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
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))构造函数;你忘了什么