Java 提供空指针的textview
我讨厌这样的错误。我得到一个空指针。我知道这是什么意思。我只是不明白我是如何得到它的,因为我知道它应该指向的项目确实存在。我正在创建一个textview,它将由opengl渲染器更新。文本视图提供了一个分数。我已经用XML创建了textview并给它一个“id”,然后我在程序中引用它并通过渲染器更新它。I全局创建TextView变量,然后在onCreate()方法中初始化它们。然后我创建了一个方法来设置文本。在我的renderer类中调用 这是我的java代码Java 提供空指针的textview,java,android,Java,Android,我讨厌这样的错误。我得到一个空指针。我知道这是什么意思。我只是不明白我是如何得到它的,因为我知道它应该指向的项目确实存在。我正在创建一个textview,它将由opengl渲染器更新。文本视图提供了一个分数。我已经用XML创建了textview并给它一个“id”,然后我在程序中引用它并通过渲染器更新它。I全局创建TextView变量,然后在onCreate()方法中初始化它们。然后我创建了一个方法来设置文本。在我的renderer类中调用 这是我的java代码 View r1; TextView
View r1;
TextView score3, score4;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//set app to full screen and keep screen on
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(Main.layout);//R.layout.gl_triallayout;
r1 = findViewById(Main.id);////R.id.gl_triallayout;
score3 = (TextView) findViewById(R.id.threeScore);
score4 = (TextView) findViewById(R.id.fourScore);
......
}
public int get3(int i){
score3.setText("Score" + String.valueOf(i));
((RelativeLayout) r1).bringChildToFront(findViewById(R.id.threeScore));
Log.i("i", String.valueOf(i));
return i;
}
XML代码
<TextView
android:id="@+id/threeScore"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Score"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:textSize="30dp"
android:textColor="#ffff00"/>
我讨厌同样问题的混乱,所以如果答案非常简单,你能在评论中告诉我吗。然后我可以删除这个。你的
setContentView(Main.layout)
应该是
setContentView(R.layout.filename)
r1 = (Button) findViewById(R.id.gl_triallayout);////R.id.gl_triallayout;
在上面的代码中,您应该根据需要更改布局文件名,如R.layout.activity\u main
这同样适用于:
r1 = findViewById(Main.id);////R.id.gl_triallayout;
什么是r1
如果它是一个按钮,它应该是
setContentView(R.layout.filename)
r1 = (Button) findViewById(R.id.gl_triallayout);////R.id.gl_triallayout;
如果是编辑文本
r1 = (EditText) findViewById(R.id.gl_triallayout);////R.id.gl_triallayout
如果是文本视图
r1 = (TextView) findViewById(R.id.gl_triallayout);////R.id.gl_triallayout
另外,在XML
布局中,score4
和r1
的视图在哪里
我认为你应该先开始学习Android的基础知识。你能发布你的logcat错误吗?你没有设置contentview。使用
setContentView(R.layout.activity\u main)代码>在onCreate()setContentView(R.layout.activity_main)中设置布局文件;什么是Main.layout
?通常您会使用R类。将setContentView(Main.layout)更改为setContentView(R.layout.activity_Main);没有合适的代码来提供解决方案。你有一个方法,但是没有声明你在哪里访问这个方法等等。