gpt4 book ai didi

java - GridView -NullPointerException 错误 - 尝试访问 "child imageview"

转载 作者:搜寻专家 更新时间:2023-11-01 09:35:46 24 4
gpt4 key购买 nike

我在这里创建了 64 个 ImageView (在 xml 中)的 Gridview,并基于输入字符串尝试在不同位置加载不同图像。

package com.example.android.chess;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.GridView;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GridView gridView = (GridView) findViewById(R.id.gridView1); //gridView null


String FEN="/rnbqkbnr/pppppppp/8/8/8/8/8/8/PPPPPPPP/RNBQKBNR/";
LoadPosition(gridView, FEN);
}
public void LoadPosition(GridView gridView, String FEN)
{
int i=0;
ImageView child;
for(int l=0; l<gridView.getCount(); l++) {
child= (ImageView) gridView.getChildAt(l);
char c = FEN.charAt(i);
if (c=='/')
i=i+1;

else if(Character.isDigit(c)) {
i=i+1;
l = l + c-1;
}

else
{
child = (ImageView) gridView.getChildAt(l);
c = FEN.charAt(i);
LoadPieceImage(child,c);
i=i+1
}

}
}

LoadPieceImage(子,c);是一种根据字符 c 加载不同图像的方法。

我收到 java.lang.NullPointerException ,gridView 显示为 null 并且因此 gridView.getChildAt(i)。

XML...

 <?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>

<GridView
android:id="@+id/gridView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnCount="8"
android:layout_gravity="center"
android:padding="2dp"
android:background="#8C8C8C"
>
<ImageView

android:layout_width="40dp"
android:layout_height="40dp"
android:gravity="center"
android:background="#ffffff"
/>
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:background="#8C8C8C"
android:gravity="center" />
....................................
</GridView>
</ScrollView>

请帮我解决一下

最佳答案

如果您希望 contentview 使用 findViewByID 找到 gridview,您应该尝试这个:(或者简单地更改 gridview 的 GetView 函数并使用它从那里获取极好的 View )

super.onCreate(savedInstanceState); 
setContentView(R.layout.grid_layout); // attach the layout
grid = (GridView) findViewById(R.id.grid); // id should be found now

附言。我也看不到您将适配器设置到 gridview 的位置,这可能也会导致问题。

关于java - GridView -NullPointerException 错误 - 尝试访问 "child imageview",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43332369/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com