Я пытаюсь создать кнопку, которая меняет активность на экране. Это меняет деятельность, как задумано, но это немного медленно. Изменение происходит с задержкой в одну секунду. В то время как эта задержка происходит, я могу использовать кнопку во второй раз, если вы выполняете это действие, открывается дважды. Но вот интересная часть: кнопка второго действия, которая открывает первое, не имеет этой проблемы, потому что она использует функцию finish ().
Я уверен, что этого не происходит из-за моего телефона или любой другой функции, которую имеет мое приложение. Мой телефон может быстрее менять действия в более сложных приложениях, таких как Whatsapp, и в моем приложении есть только одна кнопка, которая меняет действие для каждого действия.
Редактировать: я решил проблему с мультикликом. Я отключил кнопку после щелчка, пока пользователь не вернется к основному виду деятельности. Я обновил код, чтобы показать, какие коды я использовал для его решения. Но у меня все еще есть проблема "медленного переключения активности".
Моя основная активность:
public static Button button_start;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
button_start = findViewById(R.id.button_start);
configureStartButton();
}
@Override
protected void onResume()
{
super.onResume();
button_start.setEnabled(true);
}
private void configureStartButton() {
button_start.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
button_start.setEnabled(false);
startActivity(new Intent(MainActivity.this, SettingsActivity.class));
}
});
}
НастройкиActivity (Второе действие):
private Button button_menu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
button_menu = (Button) findViewById(R.id.button_menu);
button_menu.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
finish();
}
});
}