如何通过单击按钮创建列表视图?
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)
嘿伙计们,我试着做我的源代码,但我总是有这个输出:
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)