Итак, я сделал три 3 java файла.
- основной класс активности
- ButtonListener.java (отдельный класс java)
- PurpleActivty.class (активность)
Я реализовал метод OnclickListener и OnClick внутри моего файла ButtonListener.java.
Я хочу запустить намеренный startActivity () внутри моего onClick (View v) файла ButtonListener.Но это выдает ошибку в строке startActivity ().
Я знаю, что могу создать метод OnClick в onCreate of AvtivityClass, но я не хочу этого делать, поскольку я создал отдельный файл Java, который может обрабатывать все мои слушатели кнопок.
Файл MainActivity.java
public class MainActivity extends AppCompatActivity {
public Button intentPurple;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
intentPurple=findViewById(R.id.button5);
Intent gg= new Intent(MainActivity.this, PurpleActivty.class);
ButtonListener B= new ButtonListener(gg);
intentPurple.setOnClickListener(B);
}
}
файл ButtonListener.java
public class ButtonListener implements View.OnClickListener {
private Intent g;
public ButtonListener(Intent F) {
this.g=F;
}
@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.button5:
startActivity(g); // this line is error(red underline g) error msg
break; //is "startActivity() in ContextCompat cannot be
//applied to"
}}}
Есть ли способ решить эту проблему?