我有一个简单的课程MainActivity
,其扩展为ListActivity
,在其中我使用ArrayList
创建了ArrayAdapter
。
然后在xml文件中我为我的应用程序添加了一个背景。当我运行应用程序时,MainActivity
中定义的项目不会显示为单个项目列表。实际上它们出现在单独的页面中。我的意思是每个项目都在新页面中定义。这只是因为我添加了背景而引起的。
MainActivity
上课:
public class MainActivity extends ListActivity {
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
ArrayList<String> raid_list = new ArrayList<String>();
raid_list.add("Android");
raid_list.add("iPhone");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.activity_main, R.id.label, raid_list);
setListAdapter(adapter);
}
xml文件如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/mybackground" >
<TextView
android:id="@+id/label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:gravity="center"
android:text="@+id/label_text"
android:textSize="20sp" />
</RelativeLayout>
我该如何解决这种不端行为?感谢。
答案 0 :(得分:0)
如果您想将ListActivity与自定义布局文件一起使用,那么您需要使用android:id =&#34; @android:id / list&#34;
将ListView添加到此布局中答案 1 :(得分:0)
一些重要的错误:
首先:您需要创建一个布局来定义如何查看此屏幕。这样的事情(它将被称为&#34; activity_list_view_android_example.xml&#34;):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@android:id/list"
android:layout_height="wrap_content"
android:layout_width="match_parent">
</ListView>
</LinearLayout>
注意: 当使用ListActivity创建Listview时,两件事必须包含一个ListView,其中android:id属性设置为@android:id / list(NOT android:id =&#34; @ + id / list&#34;)。 如果您将定义ListView并将android:id属性设置为@ + id / list,那么它将给出错误。
在你需要像屏幕布局一样膨胀这个xml文件之后:
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_view_android_example);
第二个错误:在为列表的每一行定义的xml中(在代码中称为activity_main.xml),您必须定义行,而不是完整列表活动的外观。所以,你不能让每一行都有屏幕的最大高度,对吧?请修理一下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:background="@drawable/mybackground" >