У меня есть кнопка, которую я пытаюсь прослушать, но кнопка еще не на экране. Есть много разных фрагментов, которые я использую, и кнопка, которую я хочу слушать, сначала не появляется на экране, поэтому, когда я запускаю приложение, он сразу же сработает. Я думаю, что, поскольку он еще не на экране, и он пытается прислушиваться к тому, что его нет, он начинает крутиться. Как его использовать, чтобы кнопка начала прослушивание, когда фрагмент, на котором находится кнопка, появляется на экране?Настройка кнопок на прослушивателе кликов до его появления на экране?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// This button is not in the main fragment
Button akbutton = (Button) findViewById(R.id.akbutton);
akbutton.setOnClickListener(new View.OnClickListener() {
FragmentManager fragmentManager = getFragmentManager();
Fragment fragment = null;
public void onClick(View v) {
fragment = new ak47();
fragmentManager.beginTransaction()
.replace(R.id.container, ak47.newInstance(0))
.commit();
}
});
Можете ли вы разместить журнал? Я думаю, что ошибка вызвана 'findViewById()', поскольку вы пытаетесь найти идентификатор в основном действии, а не в фрагменте. –
. Вы должны объявить и определить, что 'OnClickListener' внутри' onCreateView() ', на вашем« фрагменте » ', а не внутри' onCreate() 'вашей активности ' – joao2fast4u