Android как загрузить новый макет - PullRequest
2 голосов
/ 22 февраля 2011

Я пытаюсь загрузить новый layout, когда я нажимаю кнопку, в этом макете есть только webView, поэтому моя цель при нажатии кнопки - открыть веб-представление и направить пользователя к заранее определенная страница. Прямо сейчас у меня есть

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

        public void onClick(View v) {
            setContentView(R.layout.codes);
        }
    });

Это внутри моего onCreate() метода в моей основной деятельности. У меня есть пара проблем:

1) это правильное место для помещения этого блока кода?
2) Нужно ли создавать отдельное действие для webView и что я хочу сделать для кнопки?
3) Если да, то какая базовая структура деятельности необходима?

Заранее спасибо!

1 Ответ

0 голосов
/ 22 февраля 2011

Как правило, вместо изменения макета в текущем действии проще запускать новое действие с новым макетом.

Если вы хотите направить пользователя на веб-сайт, вы можете использовать намерениепопросить браузер открыть (пример взят из этого вопроса )

String url = "http://almondmendoza.com/android-applications/";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);

Или вы можете создать действие, которое просто имеет WebView, и запустить его, сказав;

Intent i = new Intent(this, MyWebViewActivity.class);
i.putExtra("destination", myDestination);
startActivity(i);
...