Java 安卓应用程序开发“;setBackgroundResource上的NullPointerException(xx)“;
我正在尝试为飞盘高尔夫俱乐部制作一个应用程序。有了这个应用程序,我可以制作一个Java 安卓应用程序开发“;setBackgroundResource上的NullPointerException(xx)“;,java,android,xml,nullpointerexception,Java,Android,Xml,Nullpointerexception,我正在尝试为飞盘高尔夫俱乐部制作一个应用程序。有了这个应用程序,我可以制作一个图库游泳池来浏览不同的球场。但是当运行应用程序时,我在getView方法中得到了一个NullpointerException。我不可能理解为什么会发生这种情况。需要某人的帮助来指出问题所在。 这是一个例外: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setBackgrou
图库
游泳池来浏览不同的球场。但是当运行应用程序时,我在getView
方法中得到了一个NullpointerException
。我不可能理解为什么会发生这种情况。需要某人的帮助来指出问题所在。
这是一个例外:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setBackgroundResource(int)' on a null object reference
我的主要活动:
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void OpenActivityBanen(View view) {
Intent visBane = new Intent(this,banen.class);
startActivity(visBane);
}
}
我的第二个活动:(我想让这个图库刷在哪里运行)
这就是我在方法getView
中在线iv.setBackgroundResource(thumb[p])中获得NullPointerException
的地方代码>
在方法getView()
中,您膨胀了R.layout.Banen,然后调用了listItem.findViewById(R.id.thumb)
,但是id thumb的XML元素在R.layout.single\u grid\u item
中声明。我猜你可能是想膨胀R.layout.单网格项而不是Banen。尝试更改以下内容:
listItem= layoutInflater.inflate(R.layout.banen, null);
到
充气物品布局时:
listItem = layoutInflater.inflate(R.layout.banen, null);
GridView
为空。因此,在Single\u grid\u item.xml
布局中查找项目将返回null
也许您想使用imageView2
id而不是thumb
?
或者,您可能夸大了错误的布局,而应该:
listItem = layoutInflater.inflate(R.layout.Single_grid_item, null);
更改如下
listItem= layoutInflater.inflate(R.layout.banen, null);
到
您正试图对ListView项使用banen.xml
在其中,您使用以下行查找id为拇指的ImageView:
ImageView iv = (ImageView) listItem.findViewById(R.id.thumb);
正如您在banen.xml
文件中看到的,没有这样的项目。。。因此你得到了一个例外
我没有看过你指出的教程,但他们要么对列表项使用了不同的布局,要么很可能在充气和搜索ImageView之间对网格视图进行了其他配置。你正在尝试充气listItem=layoutInflater.充气(R.layout.banen,null)而不是单个网格项布局文件。
listItem= layoutInflater.inflate(R.layout.banen, null);
listItem= layoutInflater.inflate(R.layout.single_grid_item, null);
listItem = layoutInflater.inflate(R.layout.banen, null);
listItem = layoutInflater.inflate(R.layout.Single_grid_item, null);
listItem= layoutInflater.inflate(R.layout.banen, null);
listItem= layoutInflater.inflate(R.layout.Single_grid_item, null);
listItem= layoutInflater.inflate(R.layout.banen, null);
ImageView iv = (ImageView) listItem.findViewById(R.id.thumb);