Java 新布局没有';不会突然出现
我正在android Studio中制作一个应用程序,如果你在手机上打开该应用程序,你会看到Launcer的活动。我有一个按钮,它会将您发送到游戏所在的新活动。单击开始按钮后,应用程序关闭,不会转到其他活动。为什么呢 这是我的启动程序活动代码:Java 新布局没有';不会突然出现,java,android,Java,Android,我正在android Studio中制作一个应用程序,如果你在手机上打开该应用程序,你会看到Launcer的活动。我有一个按钮,它会将您发送到游戏所在的新活动。单击开始按钮后,应用程序关闭,不会转到其他活动。为什么呢 这是我的启动程序活动代码: package joenio.sirname; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivi
package joenio.sirname;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
public class SirName_launcher extends AppCompatActivity {
public static Button button_start;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sir_name_launcher);
StartButton();
}
public void StartButton(){
button_start = (Button) findViewById(R.id.button_start);
button_start.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent1 = new Intent("joenio.sirname.Game");
startActivity(intent1);
}
}
);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_sir_name_launcher, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
package joenio.sirname;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import java.util.ArrayList;
import android.widget.Toast;
public class Game extends AppCompatActivity {
public static EditText editText_surname;
public static TextView textView_name;
public static Button button_check;
int x =0; //to keep track of qustions
//Context editText_this = this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game);
Displayquestions();
}
public void Displayquestions(){
final ArrayList<String> mQuestionList = new ArrayList<>();
mQuestionList.add("1+2");
mQuestionList.add("6+8");
mQuestionList.add("5 * 6");
mQuestionList.add("8*5");
mQuestionList.add("6+16");
mQuestionList.add("18-5");
textView_displayquestion.setText((mQuestionList.get(x)));//displayquestion is textview
final ArrayList<String> mAnswerList=new ArrayList<>();
mAnswerList.add("3");
mAnswerList.add("14");
mAnswerList.add("30");
mAnswerList.add("40");
mAnswerList.add("22");
mAnswerList.add("13");
//button_check is the button when user click it will first check answer and than move to next question if answer is correct
button_check.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
//editText_this;
String answer = editText_ans.getText().toString();
if (answer.equals(mAnswerList.get(x))) {
x = x + 1;
textView_displayquestion.setText(mQuestionList.get(x)); //answer is correct display next quesion
Toast.makeText(getApplication().getBaseContext(),
(R.string.Nice), Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplication().getBaseContext(),
(R.string.tryagain), Toast.LENGTH_SHORT).show();
}
}
});
}
}
这是第二个活动的代码:
package joenio.sirname;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
public class SirName_launcher extends AppCompatActivity {
public static Button button_start;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sir_name_launcher);
StartButton();
}
public void StartButton(){
button_start = (Button) findViewById(R.id.button_start);
button_start.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent1 = new Intent("joenio.sirname.Game");
startActivity(intent1);
}
}
);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_sir_name_launcher, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
package joenio.sirname;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import java.util.ArrayList;
import android.widget.Toast;
public class Game extends AppCompatActivity {
public static EditText editText_surname;
public static TextView textView_name;
public static Button button_check;
int x =0; //to keep track of qustions
//Context editText_this = this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game);
Displayquestions();
}
public void Displayquestions(){
final ArrayList<String> mQuestionList = new ArrayList<>();
mQuestionList.add("1+2");
mQuestionList.add("6+8");
mQuestionList.add("5 * 6");
mQuestionList.add("8*5");
mQuestionList.add("6+16");
mQuestionList.add("18-5");
textView_displayquestion.setText((mQuestionList.get(x)));//displayquestion is textview
final ArrayList<String> mAnswerList=new ArrayList<>();
mAnswerList.add("3");
mAnswerList.add("14");
mAnswerList.add("30");
mAnswerList.add("40");
mAnswerList.add("22");
mAnswerList.add("13");
//button_check is the button when user click it will first check answer and than move to next question if answer is correct
button_check.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
//editText_this;
String answer = editText_ans.getText().toString();
if (answer.equals(mAnswerList.get(x))) {
x = x + 1;
textView_displayquestion.setText(mQuestionList.get(x)); //answer is correct display next quesion
Toast.makeText(getApplication().getBaseContext(),
(R.string.Nice), Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplication().getBaseContext(),
(R.string.tryagain), Toast.LENGTH_SHORT).show();
}
}
});
}
}
package joenio.sirname;
导入android.os.Bundle;
导入android.support.v7.app.AppActivity;
导入android.view.view;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.TextView;
导入java.util.ArrayList;
导入android.widget.Toast;
公共类游戏扩展应用程序活动{
公共静态EditText EditText_姓氏;
公共静态文本视图文本视图_名称;
公共静态按钮检查;
int x=0;//用于跟踪问题
//上下文编辑文本\u this=此;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_游戏);
显示问题();
}
公共问题{
最终ArrayList mQuestionList=新ArrayList();
添加(“1+2”);
添加(“6+8”);
mQuestionList.add(“5*6”);
mQuestionList.add(“8*5”);
添加(“6+16”);
mQuestionList.add(“18-5”);
textView_displayquestion.setText((mQuestionList.get(x));//displayquestion是textView
最终ArrayList mAnswerList=新ArrayList();
mAnswerList.添加(“3”);
mAnswerList.添加(“14”);
mAnswerList.添加(“30”);
mAnswerList.添加(“40”);
mAnswerList.添加(“22”);
mAnswerList.添加(“13”);
//按钮\u check是当用户单击它时,它将首先检查答案,然后移动到下一个问题,如果答案是正确的
按钮\u check.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//编辑这个;
String answer=editText_ans.getText().toString();
if(answer.equals(mAnswerList.get(x))){
x=x+1;
textView_displayquestion.setText(mQuestionList.get(x));//答案正确显示下一个问题
Toast.makeText(getApplication().getBaseContext(),
(R.string.Nice)、Toast.LENGTH_SHORT).show();
}否则{
Toast.makeText(getApplication().getBaseContext(),
(R.string.tryagain),Toast.LENGTH_SHORT.show();
}
}
});
}
}
在您的按钮中单击,按如下所示更改代码
Intent intent1 = new Intent(SirName_launcher.this, Game.class);
startActivity(intent1);
也可以在清单文件中添加新的游戏活动。在按钮单击中,按如下所示更改代码
Intent intent1 = new Intent(SirName_launcher.this, Game.class);
startActivity(intent1);
还可以在清单文件中添加新的游戏活动。初始化
TextView
和按钮时,您不在任何位置,这一定会导致NullPointerException
像这样更改您的游戏
活动
TextView textView_displayquestion;
Button button_check;
EditText editText_ans;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game);
textView_displayquestion = (TextView)findViewById(R.id.displayquestion); //change as per your id
button_check = (Button)findViewById(R.id.buttoncheck); //change as per your id
editText_ans = (EditText)findViewById(R.id.answer); //change as per your id
Displayquestions();
}
您无法初始化文本视图
和按钮
,这必须导致空点异常
像这样更改您的游戏
活动
TextView textView_displayquestion;
Button button_check;
EditText editText_ans;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game);
textView_displayquestion = (TextView)findViewById(R.id.displayquestion); //change as per your id
button_check = (Button)findViewById(R.id.buttoncheck); //change as per your id
editText_ans = (EditText)findViewById(R.id.answer); //change as per your id
Displayquestions();
}
你能发布你的日志吗?你能发布你的日志吗?非常感谢!!我忘了那部分!非常感谢你!!我忘了那部分!