2013-12-12 1 views
0

Я работаю над понятиями фрагмента в andorid.I я добавив несколько макетов в один FrameLayout,Фрагменты Нажмите События Проблемы в андроида

FragmentManager fm = getFragmentManager(); 
FragmentTransaction ft = fm.beginTransaction(); 
ft.addToBackStack("web"); 
ft.setTransitionStyle(FragmentTransaction.TRANSIT_ENTER_MASK); 
Fragment fragment = new TestFragment(); 
ft.setCustomAnimations(R.anim.right_to_left_remove, R.anim.right_to_left_add); 
ft.add(R.id.test, fragment); 
ft.commit(); 

Я нажал кнопку в fragment1, FRAGMENT2 добавил выше fragment1, когда нажмите в той же области макета fragement2 без кнопок добавлен еще один фрагмент. Кнопка Fragment1 можно щелкнуть в Fragment2, поэтому фрагменты добавляются несколько раз.

Как отключить события click в макетах layout2?

Спасибо,

+0

Есть ли возможность добавить несколько фрагментов в один framelayout используя метод добавления? – sd33din90

ответ

0

Попробуйте использовать ft.replace вместо ft.add

Если вы хотите использовать ft.add, на чтобы удалить старый фрагмент:

FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 
ft.add(R.id.main, new Fragment1(), "frag1"); 
ft.add(R.id.main, new Fragment2(), "frag2"); 
ft.commit(); 

// Later on 
FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 
// Manually remove fragments 
ft.remove(getSupportFragmentManager().findFragmentByTag("frag1")); 
ft.remove(getSupportFragmentManager().findFragmentByTag("frag2")); 
ft.add(R.id.main, new Fragment1(), "newFrag1"); 
ft.commit(); 
+0

Когда я повторно использую один и тот же фрагмент с разными идентификаторами (скажем, R.id.test, R.id.test1), приходится отправлять идентификаторы differents в fragments.i, я не хочу отправлять идентификаторы между fragmetns, поэтому я выбираю метод add .. – sd33din90

+0

Взгляните на мое редактирование. Я никогда не видел, чтобы кто-то использовал add без использования метода remove. –

+0

Пожалуйста, дайте свои предложения по отключению события click в фрагменте 2. layout.why click event работает несколько раз? мне нужно добавить что-нибудь в менеджер фрагментов? – sd33din90

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