【问题标题】:How to open Webview on top layer of my activity? (Android)如何在我的活动顶层打开 Webview? (安卓)
【发布时间】:2013-09-23 10:07:28
【问题描述】:

我在使用 startactivity 后添加 webview 时遇到问题。我有一个意图并开始它:

 final Intent intent = new Intent(Intent.ACTION_VIEW, uri);
    String uriString = uri.toString();
    String extension = uriString.substring(uriString.lastIndexOf('.') + 1);
    intent.setClass(this, extensionToActivity.get(extension));
    startActivity(intent);

在我的活动完全运行后,我需要打开一个 web 视图,所以我转到 Oncreate 函数并添加我的代码

 public void onCreate(Bundle savedInstanceState)
    {
     WebView wv = (WebView)findViewById(R.id.webView1);         
            String summary = "<html><body><h1>some test</h1></body></html>";
            wv.loadData(summary, "text/html", null);
            wv.setVisibility(View.VISIBLE);

}

但是我的程序崩溃了!!!但如果我在 onCreat 中显示警报,它工作正常,有什么问题?

有什么问题?

【问题讨论】:

  • 你在 oncreate 中设置了setContentView 吗?
  • 我做了,同样的结果,这是我从我的日志中得到的,或者我将 contentview 设置在错误的地方? '09-23 18:16:38.260: E/AndroidRuntime(9562): 致命异常: main 09-23 18:16:38.260: E/AndroidRuntime(9562): java.lang.RuntimeException: 无法启动活动 ComponentInfo{org .vudroid/org.vudroid.pdfdroid.PdfViewerActivity}: android.util.AndroidRuntimeException: requestFeature() 必须在添加内容之前调用 09-23 18:16:38.260: E/AndroidRuntime(9562): at android.app.ActivityThread。 performLaunchActivity(ActivityThread.java:2249)'

标签: android android-activity webview


【解决方案1】:

您忘记使用setContentView() 方法设置布局。仅供参考,如果不将内容视图设置为活动,您将找不到任何视图。

【讨论】:

  • 我在 'StartActivity' 之后使用了 'setContentView',同样,甚至在 onCreate 内部,同样如此!\
  • 如果我在“startactivity”之后打开 webview,它会打开,但我需要先运行我的意图。
  • same 是什么意思?您想通过启动 Activity 和在 WebView Activity 中执行什么操作?
  • OK,same 表示即使在顶部使用setContentView. And, I show a PDF file by StartActivity, but i need to open a WebView` 来控制交互也仍然会崩溃。但显示 PDF 后我无法打开 Webview
  • 再想想你要实现的东西。
【解决方案2】:

试试这个,

    @Override
        public void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.activity_main);
             WebView wv = (WebView)findViewById(R.id.webView1);         
            String summary = "<html><body><h1>some test</h1></body></html>";
            wv.loadData(summary, "text/html", null);
            wv.setVisibility(View.VISIBLE);
}

编辑:

@Override
public void onCreate(Bundle savedInstanceState) {
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

【讨论】:

    【解决方案3】:

    我发现我工作的 Intent 内部使用了另一个活动,这是因为我的程序崩溃了。我找到了那个活动并在那里添加了我的 webview,现在它已经解决了

    setContentView(R.layout.browseritems);
    WebView wv = (WebView)findViewById(R.id.webView1);         
    String summary = "<html><body><h1>some test</h1></body></html>";
    wv.loadData(summary, "text/html", null);
    wv.setVisibility(View.VISIBLE);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-13
      • 1970-01-01
      • 1970-01-01
      • 2023-01-17
      • 1970-01-01
      相关资源
      最近更新 更多