[英]How do I access a view from a Fragment from the Parent Activity?
嗨,我試圖找出如何通過單擊片段中的按鈕來替換片段的方法。
我嘗試研究這篇文章,但對我不起作用。
View view = getSupportFragmentManager().findFragmentById(R.id.fragment_container).getView();
btnGoToSignUp = view.findViewById(R.id.btnGoToSignUp);
我嘗試了這個,但是它帶來了錯誤
原因:java.lang.NullPointerException:嘗試在空對象引用上調用虛擬方法“ android.view.View android.support.v4.app.Fragment.getView()”
您可以這樣做:
接口:
public interface BtnClickable {
void myClickMethod(View v);
}
分段:
public class SomeFragment {
BtnClickable btnClickable;
//...onCreateView, etc.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.fragment_add_note, container, false);
Button btnGoToSignUp = root.findViewById(R.id.btnGoToSignUp);
btnGoToSignUp.setOnClickListener(new OnClickListener() {
public void onClick(View v)
{
btnClickable.myClickMethod(v);
}
});
}
public static void setClickListener(BtnClickable listener){
btnClickable=listener;
}
活動:
class MyActivity implements BtnClickable {
//...onCreate etc instantiating your fragments
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.filters);
SomeFragment.setClickListener(this);
}
public void myClickMethod(View v) {
// you can listen here for btn clicked
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.