MainActivity未运行

时间:2015-12-11 20:07:42

标签: android sharedpreferences

帮助!我是Android Studio的新手并不是很擅长,所以请在向我解释时尽量简单。在这个应用程序的MainActivty上,它应该是用户可以输入数据然后单击按钮的位置,数据在结果活动中使用共享首选项显示...我的应用程序的其余部分运行但是当我尝试运行时主动,它只是关闭了我的avd。我会包含我的代码。任何人都可以看到它不会运行的原因吗?

package edu.wmich.games;

import android.content.Intent;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {
    String strName;
    String strEmail;
    int intGames;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final EditText name = (EditText) findViewById(R.id.txtname);
        final EditText email = (EditText) findViewById(R.id.txtemail);
        final EditText games = (EditText) findViewById(R.id.txtnumber);
        Button btngamer = (Button) findViewById(R.id.btngames);


        final SharedPreferences sharedpref = PreferenceManager.getDefaultSharedPreferences(this);

        btngamer.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        });

                strName = name.getText().toString();
        strEmail = email.getText().toString();
        intGames = Integer.parseInt(games.getText().toString());

        SharedPreferences.Editor editor = sharedpref.edit();

        editor.putString("keyName", strName);
        editor.putString("keyEmail", strEmail);
        editor.putInt("keyGames", intGames);

        editor.commit();

        startActivity(new Intent(MainActivity.this,Result.class));


        }
    }

3 个答案:

答案 0 :(得分:0)

尝试在View.onClickListener之后添加AppCompatActivity。 您可能必须在执行此操作后导入某些内容,但需要在活动顶部写入View.onClickListener,以便您的应用知道正在倾听

答案 1 :(得分:0)

查看EditText视图的最终数据类型,最终变量只能初始化一次,因此在执行后你无法修改变量,将数据类型更改为String,然后尝试。

答案 2 :(得分:0)

当您开始时,MainActivity自动生成intent以打开活动“结果”...

 startActivity(new Intent(MainActivity.this,Result.class));

我会考虑两个可能的原因:

1)您的Activity“结果”可能未在您的AndroidManifest.xml中声明。 或

2)您的活动结果有一个关闭应用程序的错误。