Я ненавижу ошибки, подобные этому. Я получаю нулевой указатель. Я знаю, что это значит. Я просто не понимаю, как я получаю его, так как знаю, что предмет, на который он указывает, действительно существует. Я создаю текстовое представление, которое будет обновляться рендерером opengl. В тексте есть оценка. Я создал текстовое представление в XML и дал ему «id», затем ссылаюсь на него в своей программе и обновляю его через рендеринг. Icreate переменные TextView глобально, тогда я инициализирую их в методе onCreate(). Затем я создал метод для установки текста. Это называется внутри моего класса рендеринга.textview, дающий нулевой указатель
Вот мой 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"/>
Update
Основной класс
public void Trial(View v) {
layout = R.layout.gl_triallayout;
id = R.id.glTrialLayout;
gameType = 0;
Intent intent = new Intent(Main.this, OpenGLActivity.class);
startActivity(intent);
}
public void PlayGame(View v) {
layout = R.layout.gl_layout;
id = R.id.glLayout;
gameType = 1;
Intent intent = new Intent(Main.this, OpenGLActivity.class);
startActivity(intent);
}
Я ненавижу идею беспорядка StackOverflow с тем же вопросом так если ответ очень прост, вы можете дать его мне в комментариях. то я мог бы удалить это.
Можете ли вы разместить сообщение об ошибке logcat plz? – Maxouille
Вы не указали свой контент. используйте 'setContentView (R.layout.activity_main);' – Shvet
задайте свой файл макета в onCreate() setContentView (R.layout.activity_main); –