如何通过单击按钮创建列表视图?

How Can I do a listview from a click on button?

嘿伙计们,我试着做我的源代码,但我总是有这个输出:

java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference

可以帮我吗?

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Principal" >

<Button
    android:layout_width="73dp"
    android:layout_height="92dp"
    android:id="@+id/like"
    android:background="@drawable/like"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignTop="@+id/rota" />

<Button
    android:layout_width="113dp"
    android:layout_height="82dp"
    android:text="Calcule sua rota"
    android:id="@+id/rota"
    android:layout_gravity="bottom"
    android:layout_alignParentBottom="true"
    android:layout_toRightOf="@+id/like" />

<Button
    android:layout_width="76dp"
    android:layout_height="85dp"
    android:id="@+id/dislike"
    android:background="@drawable/dislike"
    android:layout_alignParentBottom="true"
    android:layout_toEndOf="@+id/rota"
    android:layout_alignTop="@+id/rota"
    android:layout_toRightOf="@+id/rota" />

<ListView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/listLike" />

public void preecheListLike() {

    String[] motivoLike = new String[]{
            "Rampa de Acesso","Calçada sem Obstrução","Terreno Plano","Local com Acessibilidade","Ponto de Informações"
    };

    ArrayAdapter<String> adapterL = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, motivoLike);
    listaLike = (ListView) view.findViewById(R.id.listLike);
    listaLike.setAdapter(adapterL);

}

直接调用"findViewById(R.id.listLike)",不看。我认为这应该可以解决您的问题。

listaLike = (ListView) view.findViewById(R.id.listLike);

这里的"view"是什么? 这行,只要在"view"里面找一个ID=listlike的视图,如果你的"view"不是那个ListView的父视图组,从这行代码就找不到你的listview。 所以,请删除 "view" 并尝试。

如果您使用的是 ListActivity,请分配 ListView ID = android.R.id.list(以及 XML 中的@android:id/list)