好的,当我有一个按钮点击启动另一个片段时,我一直收到这个错误。
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.Activity07-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);
}
});
}我正在将另一个片段放入视图中...
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中设置的浏览器,以启动set浏览器并在我设置的片段中查找URL。
它从我创建的webview布局中获取loadUrl()中的浏览器,并将其膨胀为片段。但我一直收到上面的错误。
发布于 2012-08-23 13:47:19
片段和活动并不像那样直接相关,你不能只是在它们之间进行转换。改为在片段上使用getActivity()方法,以返回其活动。
https://stackoverflow.com/questions/6886890
复制相似问题