0

このエラーの意味がわかりません。皆さん、私を助けてくれませんか?

MainView.java のソース コードは次のとおりです。アプリにログインすると、これが最初に表示される画面です。ヘッダー、Google マップ API、下部のメニューが表示されます。

public class MainView extends FragmentActivity implements OnClickListener {

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        return inflater.inflate(R.layout.main_view, container, false);
    }


    @Override
    protected void onStart() {
        // TODO Auto-generated method stub
        super.onStart();

        Fragment fragment;

        Button openDrawer = (Button) findViewById(R.id.openDrawer);
        openDrawer.setOnClickListener(this);

        Button openUploader = (Button) findViewById(R.id.menuButtonAdd);
        openUploader.setOnClickListener(this);
        Button openEditor = (Button) findViewById(R.id.menuButtonEdit);
        openEditor.setOnClickListener(this);
        Button openMap = (Button) findViewById(R.id.menuButtonMap);
        openMap.setOnClickListener(this);
        Button openPeople = (Button) findViewById(R.id.menuButtonPeople);
        openPeople.setOnClickListener(this);

        FragmentManager fm = getSupportFragmentManager();
        FragmentTransaction ft = fm.beginTransaction();

        Map myFragment = new Map();
        ft.add(R.id.mainFragment, myFragment);
        ft.commit();
    }


    public void onClick(View arg0) {
        Fragment newFragment = new Map();

        switch (arg0.getId()) {
        case(R.id.openDrawer):
            SlidingDrawer menuDrawer = (SlidingDrawer) findViewById(R.id.menuDrawer);
            //SlidingDrawer textDrawer = (SlidingDrawer) findViewById(R.id.textDrawer);
            if (menuDrawer.isOpened() == true) {
                menuDrawer.animateClose();
                //textDrawer.animateClose();
            } else if (menuDrawer.isOpened() == false) {
                menuDrawer.animateOpen();
                //textDrawer.animateOpen();
            }
            break;
        case(R.id.menuButtonAdd):
            newFragment = new UploadFragment();
            break;
        case(R.id.menuButtonEdit):
            newFragment = new EditGallery();
            break;
        case(R.id.menuButtonMap):
            newFragment = new Map();
            break;
        case(R.id.menuButtonPeople):
            // TODO present an error
            break;
        default:
            newFragment = new Map();
            break;
        }

        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
        transaction.replace(R.id.mainFragment, newFragment);
        transaction.commit();
    }
}

37 行目のコード:

openDrawer.setOnClickListener(this);
4

1 に答える 1

0

それはあなたがNullPointerExceptionこの行を持っていることを意味します: com.fotolife.app.MainView.onStart(MainView.java:37)

これはopenDrawernullビューで見つからないためです。

これを追加する必要があります:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_view);
}

メソッドを削除しonCreateViewます。

于 2013-01-06T19:38:29.493 に答える