Android 如何将项目列表从数组加载到ListView
我正在尝试从数组加载项目列表。。。我得到运行时错误 02-22 11:22:51.042:E/AndroidRuntime(1460):原因:java.lang.RuntimeException:您的内容必须具有id属性为“android.R.id.list”的ListView 我的R.java文件Android 如何将项目列表从数组加载到ListView,android,android-listview,android-mediaplayer,Android,Android Listview,Android Mediaplayer,我正在尝试从数组加载项目列表。。。我得到运行时错误 02-22 11:22:51.042:E/AndroidRuntime(1460):原因:java.lang.RuntimeException:您的内容必须具有id属性为“android.R.id.list”的ListView 我的R.java文件 public final class R { public static final class attr { } public static final class dra
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int ic_launcher=0x7f020000;
public static final int icon=0x7f020001;
}
public static final class id {
public static final int mylist=0x7f050000;
public static final int next=0x7f050005;
public static final int play=0x7f050004;
public static final int prev=0x7f050003;
public static final int seekbar=0x7f050002;
public static final int selectedfile=0x7f050001;
public static final int text1=0x7f050006;
}
public static final class layout {
public static final int audiolist=0x7f030000;
public static final int song_item=0x7f030001;
public static final int songlist=0x7f030002;
}
public static final class string {
public static final int app_name=0x7f040000;
}
}
我的代码:
@Override
public void onCreate(Bundle icicle) {
try {
super.onCreate(icicle);
setContentView(R.layout.audiolist);
ListView listView = (ListView) findViewById(R.id.mylist);
String[] values = new String[] { "Android", "iPhone", "WindowsMobile"};
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, values);
listView.setAdapter(spinnerArrayAdapter);
} catch (NullPointerException e) {
Log.v(getString(R.string.app_name), e.getMessage());
}
}
@覆盖
创建公共空间(捆绑冰柱){
试一试{
超级冰柱;
setContentView(R.layout.audiolist);
ListView ListView=(ListView)findViewById(R.id.mylist);
字符串[]值=新字符串[]{“Android”、“iPhone”、“WindowsMobile”};
ArrayAdapter spinnerArrayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,值);
setAdapter(spinnerrayadapter);
}捕获(NullPointerException e){
Log.v(getString(R.string.app_name),e.getMessage());
}
}
布局:音频列表
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/mylist"
android:layout_weight="1.0"/>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/screen_background_light"
android:padding="10dip">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/selectedfile"
android:text="Not file selected"
android:textColor="@android:color/black"
android:gravity="center_horizontal"
android:singleLine="true"
android:ellipsize="middle"/>
<SeekBar
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/seekbar"
android:max="100"
android:paddingBottom="10dip"/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:background="@android:drawable/screen_background_light">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/prev"
android:src="@android:drawable/ic_media_previous"/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/play"
android:src="@android:drawable/ic_media_play"/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/next"
android:src="@android:drawable/ic_media_next"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
当您扩展ListActivity并创建listView时,listView的id应该是“list”而不是mylist
<ListView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/list"
android:layout_weight="1.0"/>
来自
ListActivity具有由单个,
屏幕中央的全屏列表。但是如果你愿意的话,,
您可以通过设置自己的视图布局来自定义屏幕布局
在onCreate()中使用setContentView()。要做到这一点,你必须有自己的观点
包含一个id为“@android:id/list”的ListView对象(如果需要,则为list)
它在代码中)
您必须将listview'
s id更改为该默认值,或者需要使用setContentView(…)
更新:代码示例
你可以检查,这是一个伟大的显示你一步一步。你不能失败
更新2可能的解决方案
我最后的猜测是,您的活动扩展了ListActivity
,因此构建器正在寻找一个默认列表作为布局。如果是,请改用简单活动,并查看此问题的答案:
祝你好运你应该看看:我改成了
列表
,但仍然得到了错误:02-22`E/AndroidRuntime(1530):原因:java.lang.RuntimeException:你的内容必须有一个id属性为“android.R.id.list”的ListView`应该是android.R.id.list而不是你的.package.R.id.list。。。所以这个答案是错误的。。先看评论这很好one@Selvin:我尝试了ListView ListView=(ListView)findViewById(android.R.id.list)代码>在引用中仍然得到相同的错误,它从联系人填充ListView,但我有我自己的数组,我想从中填充,就像我在上面的代码中一样。。。有什么帮助吗?1)没有,没有联系人列表。2) 你从哪里来是无关紧要的。但是我看到你很困惑,所以我会更新我的代码。如果你想要更多的答案,我建议你用最新的XML和代码更新你的问题。谢谢Zortkun,是的,我想我迷路了:),…所以在我进入记事本教程之前,让我问你一下,。。。。为了修复我的代码,我需要什么更正?我想从一个非常简单的例子开始,比如我正在尝试的是在我的listview中加载arraylist,但不确定是什么导致我的应用程序崩溃。。。