#android #layout #button #onclick #preference
#Android #планировка #кнопка #нажать еще раз #предпочтение #макет #onclick
Вопрос:
layout.xml в файле есть кнопка, я не могу понять, как связать каждую кнопку, чтобы открыть новый экран настроек.
хочу изменить свое приложение, в настоящее время это все экран настроек, хотел изменить его, чтобы немного обновить пользовательский интерфейс, чтобы на главной странице были кнопки, и каждая из них откроет новый экран настроек, который я уже настроил, любой совет, я, кажется, не могу понять, как просто открыть эту уже созданную осыпь предпочтений.
Ответ №1:
Для чего-то вроде перехода на другой экран с главного экрана я сделаю что-то вроде этого:
ImageView floor = (ImageView)findViewById(R.id.floor);
floor.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Home.this, WheelDemo.class);
startActivity(intent);
}
});
floor — это изображение кнопки, оно запускает новое действие, WheelDemo при нажатии на него переходит на новый экран для этого действия. Просто убедитесь, что каждое действие зарегистрировано в вашем манифесте.
Ответ №2:
Во-первых, как заставить некоторый Java-код выполняться при нажатии на кнопку:
- в XML-файле layout добавьте
android:onClick="onSomethingDescriptiveClick"
- в вашем действии добавьте метод
public void onSomethingDescriptiveClick(View caller) {}
Этот метод будет выполнен, когда вы нажмете на кнопку в запущенном приложении. Замените SomethingDescriptive
чем-нибудь описательным. Например, если на вашей кнопке написано «Настройки», метод обратного вызова может быть onPreferencesClick
.
Далее, обратитесь к этому, чтобы узнать, как начать новое действие: http://developer.android.com/guide/topics/fundamentals/activities.html#StartingAnActivity
Ответ №3:
Я использовал обычную EditTextPreference, но обработал onPreferenceClick, чтобы отменить диалоговое окно и перехватить щелчок.
mbtnCheckUpdate.setText ("Check Updates.");
mbtnCheckUpdate.setOnPreferenceClickListener( new OnPreferenceClickListener()
{
@Override
public boolean onPreferenceClick(Preference arg0)
{
((EditTextPreference)arg0).getDialog().cancel();
return true;
}
}
);