Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法将片段活动强制转换为app.Activity。_Android_Fragment - Fatal编程技术网

Android 无法将片段活动强制转换为app.Activity。

Android 无法将片段活动强制转换为app.Activity。,android,fragment,Android,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)

好吧,当我有一个按钮点击启动另一个片段时,我一直会遇到这个错误

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中设置的浏览器来启动webbrowser并在我设置的片段中查找URL

它从我创建的webview布局中获取loadUrl()中的浏览器,并将其膨胀到片段中。
但是我不断地得到上面的错误。

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

您可能希望包含更多堆栈跟踪,并显示代码中的哪一行触发堆栈跟踪本身。您的意图设置为使用购物\u详细信息\u片段,该片段不是活动。这看起来不对,可能是问题的一部分。