EditText to String возвращает значение Null - PullRequest
0 голосов
/ 21 марта 2019

Как видно из заголовка, когда я запускаю это приложение, WebView подключается к "https://null/" вставленный в строку EditText, я не могу понять проблему

MainActivity деятельность

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);
        }
    });

  }
}

Деятельность WebView

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();

 } 
}

Ответы [ 4 ]

1 голос
/ 21 марта 2019

Вам нужно получить значение из вашего EditText, когда вы нажимаете кнопку, а не в пределах onCreate.

Также вы не используете тот же Intent, так что вы на самом деле не передаете это значение.

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 голосов
/ 21 марта 2019
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 intent = new Intent(MainActivity.this, WebView.class);
                intent.putExtra("123", webstr);
                MainActivity.this.startActivity(intent);
            }
        });

  }
}
0 голосов
/ 21 марта 2019

Вы поместили оператор в метод onCreate ().Поместите его в «Button.onClickListener».

0 голосов
/ 21 марта 2019

Вы называете неправильное намерение и с gettext в неправильном месте здесь ниже вы можете увидеть модифицированный код

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);
    }
});

  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...