Reputation: 404
This is my following java code, question is the xml id. For some reason I keep on getting null whenever I try to print it out, is something wrong?
public class MainActivity extends AppCompatActivity{
private boolean correct;
private String questionTxt;
public int correctAnswer()
{
int first = (int)(Math.random() * 10);
int second = (int)(Math.random() * 10);
int answer = first + second;
questionTxt = first + " + " + second;
return answer;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
TextView questionText = (TextView)findViewById(R.id.question);
questionText.setText(questionTxt + "");
}
xml code, just regular textview:
<TextView
android:id="@+id/question"
android:background="@color/colorAccent"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:layout_above="@+id/option1"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginBottom="11dp"
android:screenOrientation="portrait"/>
Upvotes: 0
Views: 600
Reputation: 12803
You should move the method after onCreate
public class MainActivity extends AppCompatActivity{
private boolean correct;
private String questionTxt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
TextView questionText = (TextView)findViewById(R.id.question);
int answer = correctAnswer();
questionText.setText(answer+");
}
public int correctAnswer()
{
int first = (int)(Math.random() * 10);
int second = (int)(Math.random() * 10);
int answer = first + second;
questionTxt = first + " + " + second;
return answer;
}
}
Upvotes: 0
Reputation: 751
call this method correctAnswer(); before setting value into textview
public class MainActivity extends AppCompatActivity{
private boolean correct;
private String questionTxt;
public int correctAnswer()
{
int first = (int)(Math.random() * 10);
int second = (int)(Math.random() * 10);
int answer = first + second;
questionTxt = first + " + " + second;
return answer;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
correctAnswer();
TextView questionText = (TextView)findViewById(R.id.question);
questionText.setText(questionTxt + "");
}
Upvotes: 1