FloatingActionButton
をクリックすると、現在のフラグメントを新しいものに置き換えます。私はfragmentReplaceで試してみましたが、私のアプリはクラッシュしています。クリックするとフラグメントが置換されます
私に何か不足していますか?
コード:
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
android.app.Fragment someFrag = new NewEventActivity();
replaceFragment(someFrag);
//Snackbar.make(view, "Hallo du heimlich pupsende :P", Snackbar.LENGTH_LONG)
// .setAction("Action", null).show();
}
});
}
public void replaceFragment(android.app.Fragment someFrag){
android.app.FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.newEvent, someFrag);
transaction.addToBackStack(null);
transaction.commit();
}
フラグメント:
public class NewEventActivity extends android.app.Fragment {
LayoutInflater inflater;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.new_event_fragment, container, false);
return rootView;
}
}
Logcat
プロセス:com.example.danny.myapplication、PID:3123 java.lang.IllegalArgumentExceptionが:断片 NewEventActivity android.support.v4.appで{bd7d3d#2、ID = 0x7f0c0082} 用:ID 0x7f0c0082 が見つかりませんビュー(ID/NEWEVENT com.example.danny.myapplication)。 FragmentManagerImpl.moveToState(FragmentManager.java:1059) でandroid.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252) でandroid.support.v4.app.BackStackRecord.run(BackStackRecord.java。 742) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617) at android.support.v4.app.FragmentManagerImpl $ 1.run(FragmentManager.java:517) (android.os.Handler.handleCallback(Handler.java:739)) (android.os.Handler.dispatchMessage(Handler.java:517) 9535) android.os.Looper.loop(Looper.java:148) とandroid.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(ネイティブメソッド) com.android.internal.os.ZygoteInit.mainで com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) (ZygoteInit.java:616)で
logcatを追加してください – AbhayBohra
現在のフラグメントを新しいものに置き換えようとしていますか? – user1506104
android.support.v4.app.Fragmentはandroid.app.Fragmentの代わりに使用します。 –