我正在使用android studio活动创建中的预设导航栏,当我尝试替换两个碎片时,应用程序崩溃了。我试图同时使用
import android.app.FragmentManager;
以及
import android.support.v4.app.FragmentManager;
我无法使用秒导入来定义要换出的片段,因此我无法使用该导入对其进行测试。
MainActivity Java Script
package acook.mobileassignment;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.BottomNavigationView;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity{
private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener = new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.navigation_home:
setTitle("Music Main");
FragmentManager fragManager = getFragmentManager();
MusicMain fragment = new MusicMain();
FragmentTransaction fragTransaction = fragManager.beginTransaction();
fragTransaction.replace(R.id.mainContent, fragment);
fragTransaction.commit();
Context context = getApplicationContext();
CharSequence text = "MusicPageCheck!";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
return true;
case R.id.navigation_dashboard:
setTitle("Timer Set");
FragmentManager fragManager2 = getFragmentManager();
FragmentTransaction fragTransaction2 = fragManager2.beginTransaction();
fragTransaction2.replace(R.id.mainContent, new TimerSet()).commit();
return true;
case R.id.navigation_notifications:
setTitle("Favourites");
FragmentManager fragManager3 = getFragmentManager();
FragmentTransaction fragTransaction3 = fragManager3.beginTransaction();
fragTransaction3.replace(R.id.mainContent, new Favourites()).commit();
return true;
}
return false;
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
}
}
答案 0 :(得分:0)
您是否尝试过使用getSupportFragmentManager() android.support.v4.app.FragmentManager,而不是getFragmentManager()?