我是Android的初学者。我无法将url作为字符串传递给其他用于生成WebView的活动。有人帮帮我!
MainActivity:
public class MainActivity extends AppCompatActivity {
EditText et_url;
Button btn;
public static String url;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn=(Button)findViewById(R.id.btn);
et_url=(EditText)findViewById(R.id.et_url);
url=et_url.getText().toString();
/*url=url.replace(" ","");*/
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int id=v.getId();
if(id==R.id.btn){
Intent web=new Intent(getApplicationContext(),WebActivity.class);
startActivity(web);
}
}
});
}
WebActivity:
public class WebActivity extends AppCompatActivity {
/* public String myurl=MainActivity.getUrl();*/
WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web);
getWindow().
setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.La
youtParams.FLAG_FULLSCREEN);
getSupportActionBar().hide();
url=url.trim();
webView=(WebView)findViewById(R.id.web);
webView.loadUrl("http://"+url+"/");
}
}
它无法读取我在主要活动中输入的网址。
答案 0 :(得分:2)
在您的主要活动中:
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int id=v.getId();
if(id==R.id.btn){
Intent web=new Intent(getApplicationContext(),WebActivity.class);
web.putExtra("url",url);
startActivity(web);
}
}
});
在WebActivity中:
Intent intent = getIntent();
url = intent.getStringExtra("url");
答案 1 :(得分:0)
在开始活动之前输入这样的内容。
web.putExtra("url", urlString);
putExtra中的第一个参数是键,第二个参数是您要传递的数据的值。
在您的WebActivity中,您可以使用以下代码接收数据:
String url = getIntent().getStringExtra("url");
答案 2 :(得分:0)
您可以使用intent将字符串从一个活动传递到另一个活动。请查看下面的代码段。
在您的MainActivity.class
中if(id==R.id.btn){
Intent web=new Intent(getApplicationContext(),WebActivity.class);
web.putExtra("URL", url);
startActivity(web);
}
WebActivity .class的OnCreate()
Intent intent = getIntent();
String url= intent.getExtras().getString("URL");
url=url.trim();
webView=(WebView)findViewById(R.id.web);
webView.loadUrl("http://"+url+"/");
答案 3 :(得分:0)
您实际上并未将 字符串 网址发送或传递给其他活动。 试试这个:
Intent intent = new Intent(getBaseContext(), webActivity.class);
intent.putExtra("This is your Url String", myUrl);
startActivity(intent);
并通过其他活动访问该网址:
String s = getIntent().getStringExtra("MyUrl");
答案 4 :(得分:0)
请在下面试试......
url=et_url.getText().toString();
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent =new Intent(MainActivity.this,WebActivity.class);
intent.putExtra("passurl",url);
startActivity(intent );
}
}
});
public class WebActivity extends AppCompatActivity {
/* public String myurl=MainActivity.getUrl();*/
WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web);
getWindow().
setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.La
youtParams.FLAG_FULLSCREEN);
getSupportActionBar().hide();
Intent intent = getIntent();
String url = intent.getStringExtra("passurl");
webView=(WebView)findViewById(R.id.web);
webView.loadUrl(url);
}
}
我希望这会对你有所帮助。
答案 5 :(得分:0)
通过意图将您的网址传递给下一个活动。
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int id=v.getId();
if(id==R.id.btn){
Intent intent = new Intent(MainActivity.this, WebActivity.class);
intent.putExtra("intentKey", url);
startActivity(web);
}
}
});
在WebActivity
in onCreate:
try {
Intent intent = getIntent();
String urlString = intent .getStringExtra("intentKey");
Log.e("urlString ", urlString + " +++++");
} catch (Exception e) {
e.printStackTrace();
}