簡體   English   中英

更改活動Android Studio-意圖錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM