第一次android程序员无法在活动之间移动

时间:2014-08-04 16:51:46

标签: java android mobile

这是我第一次为android和java编程。 我正在使用最新的Android Studio。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_log_in);
    nametxt = (EditText) findViewById(R.id.Txtname);
    final Button nextbutton = (Button) findViewById(R.id.NextButton);
    nametxt.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {

        }

        @Override
        public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
            nextbutton.setEnabled(!(nametxt.getText().toString().trim().isEmpty()));
        }

        @Override
        public void afterTextChanged(Editable editable) {

        }
    });
nextbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

    editor.putString("Name",nametxt.getText().toString());
    editor.apply();
    Intent nextScreen = new Intent(view.getContext(), MainMenu.class);
    startActivity(nextScreen);
}
});

}

在这段代码中,我试图获取用户的名字,将其保存在android偏好文件中,然后移动到下一个屏幕。 哈哈,它不起作用。 知道为什么吗? 感谢Alot

2 个答案:

答案 0 :(得分:1)

检查我对问题的评论......

我已在评论

中指明

尝试

Intent nextScreen = new Intent(youractivityname.this, MainMenu.class); 

而不是

Intent nextScreen = new Intent(view.getContext(), MainMenu.class); 

因为您必须传递当前Context作为参数。

答案 1 :(得分:0)

尝试将最后两行更改为:

Intent nextScreen = new Intent(this_activity_name.this, MainMenu.class);
startActivity(nextScreen);

其中this_activity_name必须是您当前活动的名称。