我有以下代码,当我在我的主Activity中使用它时可以正常工作:
WebView webView = (WebView)findViewById(R.id.iQuestionWebView);
webView.loadDataWithBaseURL(null, "test", "text/html", "utf-8", null);
WebView布局看起来像这样:
<WebView
android:id="@+id/iQuestionWebView"
android:layout_width="match_parent"
android:layout_height="200dp"/>
但是如果我将布局和代码放到我的第二个Activity(一个简单的LinearLayout)中,我会收到以下错误:
netstack:LIB_MGR - 加载lib libdnshostprio.so
时出错netstack:STAT_HUB - 无法加载插件:libdnshostprio.so
netstack:LIB_MGR - 加载lib spl_proc_plugin.so
时出错netstack:STAT_HUB - 无法加载插件:spl_proc_plugin.so
netstack:LIB_MGR - 加载lib pp_proc_plugin.so
时出错netstack:STAT_HUB - 无法加载插件:pp_proc_plugin.so
netstack:STAT_HUB - 不支持App com.ms.wvtest
E / cutils-trace(11142):打开跟踪文件时出错:权限被拒绝(13)
如您所见,代码非常基本 - 一个简单的按钮,启动第二个Activity:
MainActivity.java
public class MainActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button startQuiz = (Button)findViewById(R.id.iMainStartQuizButton);
startQuiz.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent = new Intent(MainActivity.this, Quiz.class);
startActivity(intent);
}
});
}
}
Quiz.java
public class Quiz extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.quiz);
WebView webView = (WebView)findViewById(R.id.iQuestionWebView);
webView.loadDataWithBaseURL(null, "test", "text/html", "utf-8", null);
}
}
如果有人能指出我错误的原因,我将不胜感激。提前感谢您的帮助!
编辑:按要求的quiz.xml和清单:
quiz.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<WebView
android:id="@+id/iQuestionWebView"
android:layout_width="match_parent"
android:layout_height="200dp"/>
</LinearLayout>
的AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ms.studycards"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/l_app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.ms.studycards.MainActivity"
android:label="@string/l_setup_title" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.ms.studycards.Quiz"
android:label="@string/l_quiz_title"
android:parentActivityName="com.ms.studycards.MainActivity">
</activity>
</application>
</manifest>
答案 0 :(得分:2)
这是我解决这个问题的方法,虽然我只在设备上测试我的应用程序(模拟器太慢)。
在清单文件中,添加互联网权限:
uses-permission android:name="android.permission.INTERNET"
在您的网页浏览中(所以在Quiz.java中),您需要启用javascript:
webView.getSettings().setJavaScriptEnabled(true);
就我而言,这两件事情摆脱了问题,并在设备的网页浏览中显示内容(我的视频中的YouTube视频)。