2013-05-22 5 views
62

タブレット用のフラグメントを使用してアプリケーションを作成しています。これまでのところ、左側にいくつかのボタンを作成していましたが、 。は、android.support.v4.app.FragmentManagerからandroid.support.v4.app.FragmentManagerに変換することはできません

しかし、私は私のMainActivity.javaファイルにエラーが発生しています「型の不一致エラー:android.support.v4.app.FragmentManagerandroid.app.FragmentManagerから変換できません」そして、それは私がit.Iを実装することはできません主な理由ですが、すでにandroid.support.v4.app.FragmentManagerを輸入しています。

問題を解決するにはどうすればよいですか?

MainActivity.java

 import android.app.Activity; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentTransaction; 
import android.view.View; 
import android.widget.Button; 

public class MainActivity extends Activity { 
    Fragment fragment; 
    Button btn1,btn2,btn3,btn4,btn5,btn6; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     btn1=(Button)findViewById(R.id.btn1); 
     btn2=(Button)findViewById(R.id.btn2); 
     btn3=(Button)findViewById(R.id.btn3); 
     btn4=(Button)findViewById(R.id.btn4); 
     btn5=(Button)findViewById(R.id.btn5); 
     btn6=(Button)findViewById(R.id.btn6); 

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

     StartFragment myfragment=new StartFragment(); 
     ft.add(R.id.myfragment,myfragment); 
     ft.commit(); 
     btn4.setOnClickListener(btnOnClickListener); 
     btn5.setOnClickListener(btnOnClickListener); 
     btn6.setOnClickListener(btnOnClickListener); 
    } 



     Button.OnClickListener btnOnClickListener=new Button.OnClickListener(){ 
      @Override 

      public void onClick(View v) 
      { 
       Fragment newfragment; 
       if(v==btn1) 
       { 
        newfragment=new Fragment1(); 
       } 
       else if(v==btn2) 
       { 
        newfragment=new Fragment2(); 
       } 
       else if(v==btn3) 
       { 
        newfragment=new Fragment3(); 
       } 
       else if(v==btn4) 
       { 
        newfragment=new Fragment4(); 
       } 
       else if(v==btn5) 
       { 
        newfragment=new Fragment5(); 
       } 
       else if(v==btn6) 
       { 
        newfragment=new Fragment6(); 
       } 
       else 
       { 
        newfragment=new StartFragment(); 
       } 
       FragmentTransaction transaction=getFragmentManager.beginTransaction(); 
       transaction.replace(R.id.myfragment,newfragment); 
       transaction.addToBackStack(null); 
       transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE); 
       transaction.commit(); 
      } 
     }; 
     } 

答えて

175

のための私のコードあなたはgetFragmentManager()、あなたのコード内getSupportFragmentManager()を使用する必要がない - 詳細はhereを参照してください。

このメソッドを取得するには、標準android.Activityからだけでなく、android.support.v4.app.FragmentActivityからクラスを拡張する必要があります。

+0

はい、デイビッドが提案したものを使用できます。私の場合はうまくいきました。 –

+0

あなたの親切な助けを借りてDavidに感謝します。それは働いて、今私はそれに取り組んでいます。 – sakshi

+4

あなたの 'Activity'から' ActionBarActivity'を拡張することができることに注目したいと思います。 – indivisible

関連する問題