klieve
@klieve
код, рисование, игры

Как сформировать ссылку из поля ввода?

Есть ссылка такого вида http://www.example.ru/никнейм.png Эта ссылка формируется на сайте скриптом и картинка всегда разная.
Я сделал поле ввода "никнейм", кнопку "показать" и WebView для отображения картинки с сайта.

Код активити такой

public class MainActivity extends Activity {
    WebView mWebView;

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

        mWebView = (WebView) findViewById(R.id.webview);
        // включаем поддержку JavaScript
        mWebView.getSettings().setJavaScriptEnabled(true);
        // указываем страницу загрузки
        mWebView.loadUrl("http://www.example.ru/никнейм.png");        
    }

    private class HelloWebViewClient  extends WebViewClient
    {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
            view.loadUrl(url);
            return true;
        }
    }


Можно каким либо образом формировать ссылку, после ввода никнейма?
  • Вопрос задан
  • 2921 просмотр
Пригласить эксперта
Ответы на вопрос 2
kivsiak
@kivsiak
software engineer
повесить обработчик на кнопку показать.
в обработчике взять значение из поля ввода.
String url = "example.com" + URLEncoder.encode(nickname, "utf-8");
mWebView.loadUrl(url);

как вешать обработчики и получать значение текстовых полей можно прочитать в оффициально документации. Ключевые слова Button EditText findViewById
Ответ написан
klieve
@klieve Автор вопроса
код, рисование, игры
Решил проблему таким способом, правда здесь открывается в системном браузере, а не в web view

public class MainActivity extends Activity implements OnClickListener {

    EditText nick;
    Button SeeGraph;

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


        //находим элементы
        SeeGraph = (Button) findViewById(R.id.buttonSeeGraph);
        nick = (EditText)findViewById(R.id.nickname);
        // прописываем обработчик
        SeeGraph.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) 
    {
        startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse ("http://example.com" + nick.getText().toString() +".png")));
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы