Кнопки веб-просмотра перестают работать после загрузки веб-сайта - PullRequest
1 голос
/ 27 апреля 2011

Я создал простой webview с двумя buttons под ним. Если я нажимаю одну из кнопок, вид, кажется, создает новый вид, называемый «веб», тогда страница загружается, и у меня все еще остаются кнопки внизу, но они не работают. Если я использую кнопку «Назад» на телефоне, я перехожу на открывающуюся пустую страницу, и кнопки снова работают? Извините, я новичок ..

Я просто хочу, чтобы он загружался в исходном виде и чтобы кнопки продолжали функционировать.

Нужно ли как-то подавлять создание нового представления?

С уважением,

-Mike

** и я не уверен, почему мой код всегда имеет лишнюю хрень, когда я публикую его, потому что это не так, когда я копирую его в буфер обмена. **

enter image description here

Класс веб-экрана

package com.example.cam;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;

public class Webscreen <URL> extends Activity {
    WebView webview1;

    public static final String URL = "";

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        String turl = getIntent().getStringExtra(URL);

        webview1 = (WebView)findViewById(R.id.webview01);

        webview1.clearCache(true);
        webview1.loadUrl(turl);
    }
}

Класс кулачка

package com.example.cam;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;

public class cam extends Activity implements OnClickListener {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // Add Click listeners for all buttons
        View firstButton = findViewById(R.id.button1);
        firstButton.setOnClickListener(this);
        View secondButton = findViewById(R.id.button2);
        secondButton.setOnClickListener(this);
    }

    // Process the button click events
    public void onClick(View v) {
        switch(v.getId()){
            case R.id.button1:
                Intent j = new Intent(this, Webscreen.class);
                j.putExtra(com.example.cam.Webscreen.URL, 
                    "http://m.yahoo.com");
                startActivity(j);
            break;
            case R.id.button2:
                Intent k = new Intent(this, Webscreen.class);
                k.putExtra(com.example.cam.Webscreen.URL, 
                    "http://m.google.com");
                startActivity(k);
            break;      
        }
    }
}

Ответы [ 2 ]

1 голос
/ 28 октября 2015

Я не знаю, почему вы не используете класс Button и не используете View Class. Используйте

Button b1=(Button)findViewById(R.id.button1);

вместо

View b1=findViewById(R.id.button1);

Использовать относительное расположение для размещения кнопок

0 голосов
/ 26 января 2018

При нажатии кнопки вы воссоздаете свою деятельность с целью отображения веб-страницы / с.

Intent j = new Intent(this, Webscreen.class);
        j.putExtra(com.example.cam.Webscreen.URL, 
            "http://m.yahoo.com");
        startActivity(j);

это только создание новой активности поверх новой активности вместо этого вам нужно загрузить веб-страницу по нажатию кнопки.

//on button1 click 
mWebView.loadUrl("http://m.yahoo.com");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...