Fragment Activity不能强制转换为app.Activity



好的,当我有一个按钮点击启动另一个Fragment时,我一直得到这个错误。

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): at android.app.Instrumentation.newActivity(Instrumentation.java:1022)07-30 20:54:05.950: ERROR/AndroidRuntime(7816): at 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);

        }
    });
  }

我正在启动另一个this Fragment到视图中…

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);
}

}

这使用我在相同的xml中设置的浏览器,第一个活动设置在启动web浏览器并查找我设置的片段中的URL ..

它从我创建的webview布局中获取loadUrl()中的浏览器,并将其膨胀到片段中。

Fragment和Activity不是直接相关的,你不能在它们之间进行cast。在片段上使用getActivity()方法,以返回其活动。

相关内容

最新更新