第二个按钮的url需要两次点击才能返回?

时间:2013-01-23 07:02:49

标签: android android-layout android-intent

我的应用有两个按钮,每个按钮打开不同的网页。 每个按钮引用一个onClick事件和Intent 仅在URL中有所不同。主要和webview活动如下。 但是,第二个按钮需要 两次单击返回主视图。我该如何解决这个问题?

public class MainActivity extends Activity {

private Button button;
private Button button1;

public void onCreate(Bundle savedInstanceState) {
    final Context context = this;

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    button = (Button) findViewById(R.id.buttonUrl);
    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

            Intent intent = new Intent(context, WebViewActivity.class);
            intent.putExtra("google.com", "http://www.google.com");
            startActivity(intent);
        }
    });

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

        @Override
        public void onClick(View arg0) {

            Intent intent = new Intent(context, WebViewActivity.class);             
            intent.putExtra("yahoo.com", "http://www.yahoo.com");
            startActivity(intent);
        }
    });
    }

}

WebviewActivity

public class WebViewActivity extends Activity {

private WebView webView;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.webview);

    webView = (WebView) findViewById(R.id.webView1);
    webView.getSettings().setJavaScriptEnabled(true);

    Bundle extras = getIntent().getExtras();
    if (extras != null){
        String googleUrl = extras.getString("google.com");
        String yahooUrl = extras.getString("yahoo.com");
    if (googleUrl != null)
        webView.loadUrl("http://www.google.com");
    else if (yahooUrl != null)
        webView.loadUrl("http://www.yahoo.com");
    }
    }
}

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <Button
    android:id="@+id/buttonUrl"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Go to http://www.google.com" />
    <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Go to http://www.yahoo.com" />

</LinearLayout>

webview.xml

<?xml version="1.0" encoding="utf-8"?>
<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
/>

2 个答案:

答案 0 :(得分:0)

第二个网址可能会重定向到某个地方,例如http://google.com - &gt; http://google.com/en/。但是,这需要两次快速点击。从第一次点击后,它将再次重定向。

答案 1 :(得分:0)

你能发贴xml吗?为什么两个OnClickListener?您的类可以实现一个OnClickListener,并根据您可以区分的资源ID。您也可以启动一个线程来启动活动而不是阻止。