我有一个应用程序,它有一个称为Money的int,我.putExtra可以将它转到另一个类,但是每次我按按钮进入该类时,它将强制关闭该应用程序。

这是我用来发送int的代码

 int Money = 0;

 GoToSettings.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
                Intent intent = new Intent(getApplicationContext(), settings.class);
                intent.putExtra("money",Money);
                startActivity(intent);

        }

    });


这是我收到它并尝试保存它的地方

public class settings extends Activity {

int LoadDef = 0;
Button Save,Load,ClsSave;

Intent intent = getIntent();
int Money = intent.getIntExtra("money", 0);

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.settings);

    Save = (Button) findViewById(R.id.Save);
    Load = (Button) findViewById(R.id.Load);
    ClsSave = (Button) findViewById(R.id.ClsSave);


                Save.setOnClickListener(new View.OnClickListener() {

                        @Override
                        public void onClick(View v) {
                            // TODO Auto-generated method stub

                            SharedPreferences sharedPreferences=getSharedPreferences("MoneySave", Context.MODE_PRIVATE);
                            SharedPreferences.Editor editor=sharedPreferences.edit();
                            editor.putInt("MoneySave", Money);
                            editor.commit();

                        }
                    });


有人可以帮我弄清楚为什么它会强制关闭吗?

最佳答案

问题在这里:

Intent intent = getIntent();


您应该从自己的意图中获得更多收益,而不是在类定义中使用onCreate()

@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.settings);

   Intent intent = getIntent();
   int Money = intent.getIntExtra("money", 0);

关于java - 每次我开新课时,app强制关闭,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25377899/

10-10 07:37