1

私のアプリには、それぞれ異なる Web ページを開く 2 つのボタンがあります。各ボタンは、URL のみが異なる onClick イベントとインテントを参照します。メインと webview アクティビティは以下のとおりです。ただし、2 番目のボタンは、メイン ビューに戻るために 2 回クリックする必要があります。どうすればこれを修正できますか?

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"
/>
4

2 に答える 2

0

2 番目の URL は、 http://google.com -> http://google.com/en/のような場所にリダイレクトされている可能性があります。ただし、これには 2 回の高速クリックが必要です。最初のクリックの後、再びリダイレクトされるためです。

于 2013-01-23T07:08:45.107 に答える
0

あなたはxmlを投稿できますか?そして、なぜ OnClickListener が 2 つあるのでしょうか。クラスは1つの OnClickListener を実装でき、リソースのIDに基づいて区別できます。ブロックする代わりに、アクティビティを開始するためのスレッドを開始することもできます。

于 2013-01-23T07:10:29.210 に答える