android:如何在列表视图的顶部添加一个按钮

时间:2011-05-23 06:18:36

标签: android

在我的应用程序中,我想在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>

感谢。

3 个答案:

答案 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"};