2016-07-24 49 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(); 

加入到活動我可以告訴你聊天,如果你知道如何做到這一點。