嗨,我是初学者在android我正在做小任务,如创建活动,按钮,复选框等。代码将工作正常,我会得到所需的输出。如果我尝试添加新的可能包含错误,我会得到不幸的是app再次停止了,如果我撤消所做的所有更改,我再次运行代码会得到同样的错误。
问题是什么,我该怎么办? 这是撤消更改后的代码是否有任何问题?这是主要活动。请任何人帮助我。
CheckBox rememberMe = (CheckBox)findViewById(R.id.checkBox1);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
EditText text= (EditText) findViewById (R.id.editText1);
EditText text1= (EditText) findViewById (R.id.editText2);
SharedPreferences sp=getSharedPreferences(MY_FILE,Context.MODE_PRIVATE);
String textview1= text.getText().toString();
String password1= text1.getText().toString();
String oldname=sp.getString("name",name);
String oldpassword=sp.getString("password","");
if(!textview1.equals(null) && !password1.equals(null))
{
if(textview1.equals(oldname)&& password1.equals(oldpassword))
{
Intent i=new Intent(MainActivity.this,MenuScreen.class);
startActivity(i);
}
else{
AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();
alertDialog.setTitle("error msg");
alertDialog.setMessage("You should register before");
alertDialog.show();
}
}
}
});
button2= (Button)findViewById (R.id.button2);
button2.setOnClickListener(new OnClickListener(){
public void onClick(View v){
Intent j=new Intent(MainActivity.this,Registration.class);
startActivity(j);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
答案 0 :(得分:2)
此行会导致错误..
CheckBox rememberMe = (CheckBox)findViewById(R.id.checkBox1);
上述行不在onCreate()
方法的旁边......将其置于onCreate()
内,因为只有在setContentView()
之后才能获得视图对象。
答案 1 :(得分:1)
CheckBox rememberMe = (CheckBox)findViewById(R.id.checkBox1);
加入onCreate()
答案 2 :(得分:0)
调用setContentView()后,只会加载你的布局。所以放在代码下面
CheckBox rememberMe = (CheckBox)findViewById(R.id.checkBox1);
在setContentView()之后的onCreate()中。