EditText to String返回Null

问题描述 投票:0回答:4

正如标题所说,当我执行这个应用程序时,WebView连接到“qazxsw poi”而不是我放在EditText上的字符串,我无法弄清楚问题

MainActivity活动

https://null/

WebView活动

public class MainActivity extends AppCompatActivity {
EditText web;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    web = (EditText) findViewById(R.id.web);
    String webstr = web.getText().toString();
    Intent int2 = new Intent(MainActivity.this, WebView.class);
    int2.putExtra("123", webstr);
    Button button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           Intent intent = new Intent(getApplicationContext(), WebView.class);
            v.getContext().startActivity(intent);
        }
    });

  }
}
java android android-edittext
4个回答
1
投票

当您单击按钮而不是public class WebView extends AppCompatActivity { private android.webkit.WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_web_view); Intent intent = getIntent(); String web1 = intent.getStringExtra("123"); webView = findViewById(R.id.webview); webView.getSettings().setDomStorageEnabled(true); webView.setWebViewClient(new WebViewClient()); webView.loadUrl("https://" + web1); Toast.makeText(WebView.this, "Connected", Toast.LENGTH_SHORT).show(); } } 时,您需要从EditText获取值。

你也没有使用相同的onCreate,所以你实际上没有传递那个值。

Intent

0
投票

你调用错误的意图,并在下面的错误位置使用gettext,你可以看到修改后的代码

Button button = findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(getApplicationContext(), WebView.class);
        String webstr = web.getText().toString();
        intent.putExtra("123", webstr);
        v.getContext().startActivity(intent);
    }
});

0
投票

您已将语句放在'onCreate()'方法中。将它放在'Button.onClickListener'中。


0
投票
public class MainActivity extends AppCompatActivity {
EditText web;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
web = (EditText) findViewById(R.id.web);


Button button = findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {


  String webstr = web.getText().toString();
  Intent int2 = new Intent(MainActivity.this, WebView.class);
  int2.putExtra("123", webstr);
  v.getContext().startActivity(int2);
    }
});

  }
}
© www.soinside.com 2019 - 2024. All rights reserved.