【问题标题】:Load different website urls in different activities using Android WebView使用 Android WebView 在不同的活动中加载不同的网站 url
【发布时间】:2015-06-27 03:54:55
【问题描述】:

我是 Android 应用程序开发的新手,到目前为止,我已经能够开发一个显示一个 url 的原型。我确实添加了另一个设置为加载不同 URL 的 webview,但是每当我打开第二个活动时,应用程序就会关闭。是否有可能实现这一目标,如果可以,如何实现?提前致谢。

这是我的 android 应用程序中的示例代码。

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<uses-permission android:name="android.permission.INTERNET" />
<!-- Network State Permissions -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".Activity_Two"
        android:label="@string/title_activity_activity__two" >
    </activity>
    <activity
        android:name=".ActivityThree"
        android:label="@string/title_activity_activity_three" >
    </activity>
</application>

MainActivity.java

public class MainActivity extends ActionBarActivity {
private WebView mWebView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mWebView = (WebView) findViewById(R.id.main_webview);

    // Enable Javascript
    WebSettings webSettings = mWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);

    mWebView.loadUrl("http://test.biko.me.ke");

    // Stop local links and redirects from opening in browser instead of WebView
    mWebView.setWebViewClient(new MyAppWebViewClient());
}

Activity_Two.java

public class Activity_Two extends ActionBarActivity {
private WebView mWebView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mWebView = (WebView) findViewById(R.id.two_webview);

    // Enable Javascript
    WebSettings webSettings = mWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);

    mWebView.loadUrl("http://biko.me.ke");

    // Stop local links and redirects from opening in browser instead of WebView
    mWebView.setWebViewClient(new MyAppWebViewClient());
}

【问题讨论】:

    标签: android android-webview


    【解决方案1】:

    我认为问题出在 AndroidManifest.xml 文件中。您必须在 AndroidManifest.xml 文件中注册第二个活动。之后,您可以移动到第二个活动而不会发生任何崩溃。这是一个例子。第一个活动是主启动器活动,第二个是其他活动

        <activity
            android:name="com.tenmb.androidexpert.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
    
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.tenmb.androidexpert.Beginners.ButtonExample"
            android:label="@string/app_name">
        </activity>
    

    【讨论】:

    • 嗨@waheed,我试过你的方法,但没有奏效。我已经更新了我的问题以包含我拥有的代码。希望它能更好地了解我的立场
    • 很好,不要只使用 .Activity_Two,而是使用 packagename+activity,如 com.example.Activity_Two。您可以通过我的电子邮件 ID 向我发送代码,我将解决该问题。 waheed.nu@gmail.com
    • 我将编辑那段代码并告诉你结果。虽然我不是用按钮访问活动二,而是应用程序的主菜单(使用菜单按钮)
    • 总是尝试分部分工作。首先单击按钮打开一个新活动,然后在该活动中添加功能。在任何地方都遵循相同的程序,这将对您有很大帮助。
    • 嗨@waheed,尝试了几件事,但都没有奏效。您特别希望我发给您哪些文件?
    猜你喜欢
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    • 1970-01-01
    • 2016-07-18
    • 1970-01-01
    • 2014-10-16
    • 2011-08-15
    相关资源
    最近更新 更多