将URL传递给WebView的其他活动

时间:2017-06-23 13:02:39

标签: java android webview

我是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+"/");
       }
   }

它无法读取我在主要活动中输入的网址。

6 个答案:

答案 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();            
    }