Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 提供空指针的textview_Java_Android - Fatal编程技术网

Java 提供空指针的textview

Java 提供空指针的textview,java,android,Java,Android,我讨厌这样的错误。我得到一个空指针。我知道这是什么意思。我只是不明白我是如何得到它的,因为我知道它应该指向的项目确实存在。我正在创建一个textview,它将由opengl渲染器更新。文本视图提供了一个分数。我已经用XML创建了textview并给它一个“id”,然后我在程序中引用它并通过渲染器更新它。I全局创建TextView变量,然后在onCreate()方法中初始化它们。然后我创建了一个方法来设置文本。在我的renderer类中调用 这是我的java代码 View r1; TextView

我讨厌这样的错误。我得到一个空指针。我知道这是什么意思。我只是不明白我是如何得到它的,因为我知道它应该指向的项目确实存在。我正在创建一个textview,它将由opengl渲染器更新。文本视图提供了一个分数。我已经用XML创建了textview并给它一个“id”,然后我在程序中引用它并通过渲染器更新它。I全局创建TextView变量,然后在onCreate()方法中初始化它们。然后我创建了一个方法来设置文本。在我的renderer类中调用

这是我的java代码

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);没有合适的代码来提供解决方案。你有一个方法,但是没有声明你在哪里访问这个方法等等。