Данные с одной активити как часть ссылки для webview другой активити
День добрый. Делаю приложение на основе вебвью, как сделать так, чтобы при входе разово спрашивались данные (по типу кошелька), чтобы потом это использовать как часть ссылки для вебвью?
Например, мне нужно отображать https://ссылка.пример/personal_stats?wallet=****здесь_данные_с_первого_диаг_окна****&следующий параметр
Ответы (1 шт):
Автор решения: NickName11
→ Ссылка
Можно сделать Activity для ввода данных и сохранить значение с неё в SharedPreferences так:
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity2 extends AppCompatActivity {
private EditText et;
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
SharedPreferences prefs = getSharedPreferences("preferences", MODE_PRIVATE);
et = findViewById(R.id.editText);
btn = findViewById(R.id.nextBtn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(et.getText().length() > 0) {
SharedPreferences.Editor e = prefs.edit();
e.putString("data", et.getText().toString());
e.apply();
Intent intent = new Intent(MainActivity2.this, MainActivity.class);
startActivity(intent);
}
}
});
}
}
И в основной Activity проверять если существуют эти данные, то загружать ссылку, иначе запускать первую Activity:
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.webkit.WebView;
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SharedPreferences prefs = getSharedPreferences("preferences", MODE_PRIVATE);
if (!prefs.contains("data")) {
Intent intent = new Intent(MainActivity.this, MainActivity2.class);
startActivity(intent);
}
String data = prefs.getString("data", "");
webView = findViewById(R.id.webView);
webView.loadUrl("https://ссылка.пример/personal_stats?wallet=" + data + "&следующий");
}
}