gpt4 book ai didi

android - 您是否必须向 list 中添加 fragment

转载 作者:IT老高 更新时间:2023-10-28 23:10:57 25 4
gpt4 key购买 nike

我正在使用一个应该显示 web View 的 fragment 。当我尝试从使用它的类中实例化它时,我在 logcat 中收到以下警告。

02-21 23:26:46.843: W/System.err(32468): android.content.ActivityNotFoundException: Unable   to find explicit activity class {get.scanner/get.scanner.WebFrag}; have you declared this activity in your AndroidManifest.xml?

我只是在学习如何使用 fragment ,我从未尝试在我的 list 中声明它们,我还没有看到任何地方告诉你这样做。

这是 WebFrag 类。

public class WebFrag extends Fragment{
private WebView viewer = null;

// if we weren't just using the compat library, we could use WebViewFragment

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
viewer = (WebView) inflater
.inflate(R.layout.webview, container, false);
WebSettings settings = viewer.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDefaultZoom(ZoomDensity.FAR);

return viewer;
}

@Override
public void onPause() {
if (viewer != null) {
viewer.onPause();
}
super.onPause();
}

@Override
public void onResume() {
super.onResume();
if (viewer != null) {
viewer.onResume();
}
}

public void updateUrl(String newUrl) {
if (viewer != null) {
viewer.loadUrl(newUrl);
}
}
}

编辑:将 WebFrag 作为 Activity 添加到 list 会导致以下错误

02-22 00:17:55.711: E/AndroidRuntime(2524): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{get.scanner/get.scanner.WebFrag}: java.lang.ClassCastException: get.scanner.WebFrag

编辑:这是我尝试使用我的类(class)的主要 fragment Activity

public class GetScannerActivity extends FragmentActivity {

private String mUrl = "http://www.yahoo.com/";

Button scanButton;
Button paint;
Button compTrans;
String yurl = "http://www.yahoo.com/";

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

compTrans = (Button) findViewById(R.id.checkCurrentDeals);
compTrans.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
WebFrag viewer = (WebFrag) getSupportFragmentManager()
.findFragmentById(R.id.web_frag);

try{
if (viewer == null || !viewer.isInLayout()) {
Intent showContent = new Intent(getApplicationContext(),
WebFrag.class);
showContent.setData(Uri.parse(yurl));
try{
startActivity(showContent);
}catch(ActivityNotFoundException e){
e.printStackTrace();
}
} else {
viewer.updateUrl(yurl);
}
}catch(Exception e){
e.printStackTrace();
}


}
});
}
}

最佳答案

不,不要将其添加到您的 list 中。您永远不需要向 list 中添加 fragment 。

你是否在某个地方创建了一个 Intent 来启动 WebActivity?它是如何被带到屏幕上的,这可能是你的问题所在。

编辑

这是你的问题:

 Intent showContent = new Intent(getApplicationContext(),
WebFrag.class);
startActivity(showContent);

您不能将 Fragment 作为 Activity 启动,您必须将 Fragment 包装在扩展 FragmentActivity 的 Activity 中

关于android - 您是否必须向 list 中添加 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9390752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com