[英]Changing Activities Android Studio - Intent Error
我試圖通過單擊按鈕鏈接到活動。 我不斷收到錯誤消息,顯示“ MainActivity中的ChangeActivityStudent()無法應用於(Androi.content.intent)”
這是我的代碼:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
EditText userPassword;
EditText userPin;
EditText UserName;
CheckBox checkBox;
TextView Title;
Button GoBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
UserName = findViewById(R.id.UserName);
userPassword = findViewById(R.id.userPassword);
userPin = findViewById(R.id.userPin);
checkBox = findViewById(R.id.checkBox);
GoBtn = findViewById(R.id.GoBtn);
checkBox.setOnClickListener(this);
// called when check box is clicked
}
@Override
public void onClick(View v) {
//method called
if (checkBox.isChecked())
{
userPin.setVisibility(View.VISIBLE);
//when checkbox is check, userPin becomes visible
}
else
{
userPin.setVisibility(View.INVISIBLE);
//otherwise userPin is invisible
}
GoBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ChangeActivityStudent();
}
});
}
private void ChangeActivityStudent(){
Intent intent = new Intent(this, StudentActivity.class);
ChangeActivityStudent(intent);
}
}
在Android中,要啟動新活動,您無需直接調用其構造函數。 這是由Android框架完成的。 而是使用context.startActivity(intent)
(有關此文檔,請context.startActivity(intent)
此處 )。 因此,在這種情況下:
private void changeActivityStudent() {
Intent intent = new Intent(this, StudentActivity.class);
startActivity(intent);
}
由於您是從擴展了Context
MainActivity
調用此方法的,因此可以直接調用此方法。 請查看本教程 ,以獲取有關如何啟動新活動的更多信息。
這應該工作:
private void ChangeActivityStudent(){
Intent intent = new Intent(MainActivity.this, StudentActivity.class);
startActivity(intent);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.