0

SherlockFragment に問題があります。「extends SherlockFragment」を「Fragment」に変更すると、完全に機能します。しかし、Sherlock と一緒に作業するときは、この方法で作業します。

このコードはフラグメントです:

import com.actionbarsherlock.app.SherlockFragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;


public class Box extends SherlockFragment {

    public Box(){}

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.box, container, false);
        return rootView;
    }
}

私のActivityMain.javaには次のものがあります:

SherlockFragment fragment = null;

Fragment fragment = null; で動作します。

そして、私はそれを呼び出します:

fragment= new Box();

しかし、問題はこのコードの .replace です:

 FragmentManager fragmentManager = getFragmentManager();
 fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
4

1 に答える 1

1

sherlockfragment を使用するために getFragmentManager を getSupportFragmentManager に変更します

FragmentManager fragmentManager = getSupportFragmentManager();
 fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
于 2014-03-10T14:00:06.327 に答える