这是我第一次为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
答案 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必须是您当前活动的名称。