2014-12-28 2 views
0

У меня есть кнопка, которую я пытаюсь прослушать, но кнопка еще не на экране. Есть много разных фрагментов, которые я использую, и кнопка, которую я хочу слушать, сначала не появляется на экране, поэтому, когда я запускаю приложение, он сразу же сработает. Я думаю, что, поскольку он еще не на экране, и он пытается прислушиваться к тому, что его нет, он начинает крутиться. Как его использовать, чтобы кнопка начала прослушивание, когда фрагмент, на котором находится кнопка, появляется на экране?Настройка кнопок на прослушивателе кликов до его появления на экране?

@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(); 
     } 
    }); 
+0

Можете ли вы разместить журнал? Я думаю, что ошибка вызвана 'findViewById()', поскольку вы пытаетесь найти идентификатор в основном действии, а не в фрагменте. –

+0

. Вы должны объявить и определить, что 'OnClickListener' внутри' onCreateView() ', на вашем« фрагменте » ', а не внутри' onCreate() 'вашей активности ' – joao2fast4u

ответ

0

Хорошо, что основная проблема заключается в том, что ваш найти вид вашей кнопки не внутри, где ваши настройки его на Listener.So Пожалуйста Объявить его там, где он должен быть использован с раствором Listener.Second является добавление одного линии, где вы находите вид кнопки в основном это слово final или static или оба final static в целом ваш код должен выглядеть следующим образом. final Button akbutton = (Button) findViewById(R.id.akbutton); где вы можете изменить final моим выше написанным вариантам.

Смежные вопросы