2016-07-24 5 views
1
public class HeadlinesFragment extends Fragment implements View.OnClickListener{ 
View view; 
Button button; 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ 
    view = inflater.inflate(R.layout.headlines_view, container, false); 
    button = (Button)view.findViewById(R.id.button); 
    button.setOnClickListener(this); 
    return view; 
} 

@Override 
public void onClick(View v){ 
    FragmentManager fragmentManager = getFragmentManager(); 
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
    Fragment fragment2 = new ArticleFragment(); 
    fragmentTransaction.replace(R.id.fragment_container, fragment2); 
    fragmentTransaction.addToBackStack(null); 
    fragmentTransaction.commit(); 
} 

Метод onClick не запускается при нажатии кнопки, и я, похоже, не могу понять.Кнопка Android не регистрируется во фрагменте

+0

Что вы имели в виду, когда onClick терпит неудачу? Он не называется или ничего не происходит? Обычно FragmentTransition контролируется parentAcitivity (который расширяет FragmentActivity или AppCompatActivity), а не собственным фрагментом – W0rmH0le

+0

Я, вероятно, должен был сформулировать его лучше, но onClick не вызывается, даже если кнопка нажата. – SilentWilent

ответ

0
@Override 
public void onClick(View v){ 
if (if (R.id.R.id.button== v.getId()) { 
//.... 


}    
} 

// следующий код должен быть добавлен в деятельность, используя интерфейс

FragmentManager fragmentManager = getFragmentManager(); 
     FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
     Fragment fragment2 = new ArticleFragment(); 
     fragmentTransaction.replace(R.id.fragment_container, fragment2); 
     fragmentTransaction.addToBackStack(null); 
     fragmentTransaction.commit(); 

Я могу показать вам на чат, если вы знаете, как это сделать.

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