2015-01-09 3 views
2

Я создаю два Java файл первого главного activity.java файл второго файл fragment.java кнопку создать на fragment.java как нажать слушатель, написанный на activity.java помочь мнеКак получить доступ к кнопке активности из фрагмента

фрагмента .java

public class fragment extends fragment{ 
Button btn; 
// some code 
btn = (Button)layout.findviewbyid(R.id.btn1); 

} 

} 

activity.java

public class activity extends Activity 
{ 


// how to access the click action btn here 
btn.setOnclicklistner(new View.OnClickLisitner(){ 
public OnClick(){ 


} 
+1

Привет, пожалуйста, уточните этот вопрос. Тогда только мы можем ответить. – droidd

+0

Что вы хотите достичь? –

+0

Я создаю класс переменной фрагмента кнопки, как щелкнуть код действия, введите класс активности – Jai

ответ

1

Вы можете определить пользовательский класс clicklistener и создать его экземпляр в фрагменте и установлен экземпляр слушателя есть. Теперь вы можете писать код в этом классе. Надеюсь, это поможет вам.

public class MyCustomListener implements OnClickListener 
{ 

@override 
public void onClick(View v) 
{ 
// you stuff 
} 
} 

//// in ur fragment class 

MyCustomListener listener=new MyCustomListener(); 
btn.setOnClickListener(listener); 
+0

можно разработать код или ссылку на ссылку – Jai

+0

, пожалуйста, проверьте мое обновление – SAM

+0

. щелкните код действия, чтобы написать класс активности .... – Jai

1

Если я правильно понимаю вашу проблему, вы хотите делегировать кнопку щелчка внутри фрагмента обратно в родительскую активность.

Содержите ссылку на родительскую активность внутри вашего фрагмента. Затем установите слушатель вашей кнопку в вашем фрагменте, как это:

btn.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     parentActivity.doStuff(); 
    } 
}; 

В вашей родительской деятельности, определить метод doStuff():

public void doStuff() { 
    // handle button click event here 
} 
2

Чтобы использовать кнопку активности из фрагмента, вы должны использовать getActivity()

В вашем фрагменте

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.fragment_item_select, container, false); 

     btn = (Button) getActivity().findViewById(R.id.btn); 
} 

БТН кнопка активности

getActivity() в фрагменте возвращает активность фрагмента в настоящее время связан. (см. http://developer.android.com/reference/android/app/Fragment.html#getActivity()).

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