我想實現一個導航抽屜。 「片段1」是一個列表片段:分段交易與列表片段
public class Fragment1 extends ListFragment {
private List<String> musicList;
public static ListFragment newInstance(Context context) {
Fragment1 f = new Fragment1();
return f;
}
但是我不能使用fragmenttransaction替換片段中的主要活動:
public class MainActivity extends AbstractNavDrawerActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, new Fragment1()).commit();
}
}
@Override
protected void onNavItemSelected(int id) {
switch ((int)id) {
case 101:
getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, new Fragment1()).commit();
break;
case 102:
getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, new Fragment2()).commit();
break;
}
}
}
的替換方法具有其下一個紅線並說:
The method replace(int, Fragment) in the type FragmentTransaction is not applicable for the arguments (int, Fragment1)"
我該怎麼辦?
如果您使用sherlock,您需要將您的片段定義爲'SherlockListFragment'。 – MalaKa
Your Fragment1是ListFragment的類型。編譯器正在尋找Fragment。 – bofredo
我該如何改變它來尋找一個列表片段? –