2011-07-31 53 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 

07-30 20:54:05.950:ERROR/AndroidRuntime(7816):在android.app.Instrumentation.newActivity (Instrumentation.java:1022) 07-30 20:54:05.950:ERROR/AndroidRuntime(7816):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1663)

這裏是我試圖當按鈕findIt被點擊此活動時。

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()方法來返回其活動。