错误:不幸的是app停了

时间:2014-01-22 06:36:15

标签: android

嗨,我是初学者在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;
    }

}

3 个答案:

答案 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()中