2016-04-22 2 views
2

Это может звучать очень noobish вопрос, но позвольте мне спросить его любым способом.Android Фрагменты

Я новичок в программировании на Android и Java. Я некоторое время программировал на C. Я попытался проанализировать и понять код Java для фрагментов в Android (это мой способ изучения языка программирования).

Сценарий:

Скажем у меня есть основной вид деятельности с 2-х фрагментов.

1-й фрагмент (фрагмент_bottom) имеет кнопку загрузки изображения, которая загружает изображение из галереи.

2-й фрагмент имеет 2 текстовых изображения. 2 фрагмента не общаются друг с другом.

Теперь мой вопрос: почему я пишу кнопку onClick code в MainActivity.java, а не в фрагмент_bottom.java (имя фрагмента - фрагмент_объекта). Причина, по которой я сомневаюсь, - это кнопка, которая принадлежит фрагменту_bottom, поэтому, согласно моим знаниям, вы должны написать код для обработки щелчка кнопки в файле fragment_bottom.java.

Приношу свои извинения за мою нубость. Но если кто-нибудь сможет мне помочь, это будет здорово!

+0

использовать интерфейс для связи двух fragments..and связи можно с помощью деятельности. –

+0

Вы можете написать код onClick внутри класса фрагмента. –

+0

Конечно, можно установить onClick-прослушиватель в фрагменте. Его полностью зависит от того, как один дизайн операции обрабатывать кнопку. – gauravsheohar

ответ

0

Вы можете определенно (и вы, вероятно, должны) установить/записать свой прослушиватель onClick внутри вашего фрагмента.
Если вы путать здесь пример, где мы имеем Button именем mButton и я поставил mButton-х OnClickListener:

public class BottomFragment extends Fragment { 
    private Button mButton; 
    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.fragment_bottom, container, false); 
     mButton = (Button)view.findViewById(R.id.button); 
     mButton.setOnClickListener(
       new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         // Whatever you write inside here will get 
         // executed when you click on mButton 
        } 
       } 
     ); 
     return view; 
    } 
} 
Смежные вопросы