2011-07-31 12 views
1

オーケー、私はフラグメントアクティビティをapp.Activityにキャストできません。

07-30 20:54:05.950: ERROR/AndroidRuntime(7816): Caused by: java.lang.ClassCastException: com.fttech.gameIT.shopping_details_fragment cannot be cast to android.app.Activity 

7月30日20 ..私は別のフラグメントを起動]ボタンをクリックしていたときに、このエラーを取得維持:54:05.950:ERROR/AndroidRuntime(7816):android.app.Instrumentation.newActivityで(Instrumentation.java:1022) 7月30日20:54:05.950:ERROR/AndroidRuntime(7816):

ここ

は、私がしようとしているものですandroid.app.ActivityThread.performLaunchActivity(ActivityThread.java:1663)でボタンをクリックすると、このアクティビティからクリックされます。

public class shoppingClass extends FragmentActivity{ 
Button findIT; 
EditText game; 
String item = null; 
WebView browser; 
RadioGroup site; 
RadioGroup type; 
String url; 
String console; 
shopping_details_fragment shopping; 

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

    findIT = (Button)findViewById(R.id.findIT); 
    shop = (EditText)findViewById(R.id.item); 
    type = (RadioGroup)findViewById(R.id.console); 
    site = (RadioGroup)findViewById(R.id.shopping_group); 

    final Intent d = new Intent(this, shopping_details_fragment.class); 
    findIT.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      getUserPreference(); 
      shopping.loadUrl(url); 
      startActivity(d); 


     } 
    }); 

    } 

私はビューに別のこの断片を立ち上げています...

public class shopping_details_fragment extends Fragment{ 

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

    //Return the view for our WebView 
    return(inflater.inflate(R.id.browserFrag,container, false)); 

} 

public void loadUrl(String url){ 
    ((WebView)getView().findViewById(R.id.browser)).loadUrl(url); 
} 

}

これは私が最初にactivitiyを起動するには設定されている同じXMLに設定しているブラウザを使用しています私が設定したフラグメント内のURLを参照してください。

webviewレイアウトからloadUrl()のブラウザを取得し、それをフラグメントに膨張させます。 しかし、私は上記のエラーが発生し続けます。

+0

さらにスタックトレースをインクルードし、スタックトレース自体をトリガしているコードの行を表示することもできます。 – CommonsWare

+0

あなたの意図は、shopping_details_fragmentを使用するように設定されています。これは、アクティビティではなくフラグメントです。それは正しく見えず、問題の一部になる可能性があります。 –

答えて

2

フラグメントとアクティビティは直接関連していません。それらの間にはキャストできません。フラグメントの代わりにgetActivity()メソッドを使用して、そのアクティビティを返します。

関連する問題