在我的应用程序中,我想在List视图的顶部添加一个按钮。这意味着在列表视图继续之后,顶部按钮就在那里。
以下是我的代码。使用这个我得到了
05-23 11:44:34.407: ERROR / AndroidRuntime(1348): java.lang.RuntimeException:无法 开始活动 ComponentInfo {com.Elgifto / com.Elgifto.Egender}: 显示java.lang.NullPointerException。
Egender.java
package com.Elgifto;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
public class Egender extends ListActivity{
Button b1;
ListView lv;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
lv=(ListView) findViewById(R.id.list);
b1=new Button(this);
b1.setText("Done");
lv.addHeaderView(b1);
lv.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_single_choice, GENDER));
lv.setItemsCanFocus(false);
lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
setContentView(lv);
}
private static final String[] GENDER = new String[] {
"Male","Female"
};
}
gender.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ListView
android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"/>
</LinearLayout>
感谢。
答案 0 :(得分:0)
你应该首先在super下面写setContentView(R.layout.gender),而xml中的ListView应该有像这样的id:id =“@ + id / android:list”not
android:id =“@ + id / list”因为你的类扩展了ListView。
答案 1 :(得分:0)
super.onCreate(savedInstanceState);
lv=(ListView) findViewById(R.id.list);
在虚增之前,您无法搜索任何观看。首先在布局中调用setContentView(),然后在之后修改它。
答案 2 :(得分:0)
在使用任何视图之前必须设置SetContent .. 所以,试试吧..
super.onCreate(savedInstanceState);
setContentView(R.layout.gender);
lv=(ListView) findViewById(R.id.list);
b1=new Button(this);
b1.setText("Done");
.
.
.
etc
你和alos错过了定义GENDER变量..
所以先将其定义为
String GENDER = new String{"Male","Female"};