У меня возникает проблема, когда я нажимаю кнопку, чтобы сохранить мою информацию EditText в строке, приложение вылетает, и я не могу найти никаких проблем, я что-то настраиваю неправильно, и я просто не вижу этого?

public class Tab5 extends Activity {

Button btnGo ;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.tab5);

    btnGo = (Button) findViewById(R.id.button1);


    btnGo.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) { 


            // TODO Auto-generated method stub
            EditText userid = (EditText) findViewById(R.id.editText1);
            userid.setText(2);
            Intent intent = new Intent(Tab5.this, Tab1.class);
            userid.getText().toString();
            startActivity(intent);
                        }
                    });

}
}
0
bumbob 9 Май 2014 в 23:03

4 ответа

Лучший ответ

Вы можете назначить? Id = переменной как

public final static String URL = "outputapps.com/build/infoview.php?id=";

А затем можно объединить значение EditText, но, как вы сказали, вам нужно 2 по умолчанию, нам нужно сначала проверить EditText, содержит ли он какой-либо текст или нет. ДЕЛАЙТЕ это Tab5

Intent intent = new Intent(Tab5.this, Tab1.class);
String edit = userid.getText().toString();
String myURL = null;
if(edit != null && edit.length > 0){
    myURL = edit;
}else{
    myURL = "2";
}
intent.putExtra("EXTRA_URL", myURL);
startActivity(intent);

Затем для загрузки URL-адреса сделайте это в своем Tab1,

String myURL = getIntent().getStringExtra("EXTRA_URL");
webView.loadUrl(YourActivity.URL + myURL);

Я знаю, что вышесказанное можно написать меньшим количеством строк, но я надеюсь, что это ясно. Пожалуйста, дайте мне знать, если вам нужны дополнительные объяснения.

0
Atul O Holic 10 Май 2014 в 04:11

Если вы это сделаете

userid.setText(2);

Android будет думать об этом int ad a resourceId и не найдет его в R.java.

Так что просто не забывайте всегда передавать String методу setText

userid.setText(String.valueOf(2));

Или

userid.setText(""+2);
1
Enrichman 9 Май 2014 в 19:07

Использовать

 userid.setText("2");

Вместо того

 userid.setText(2);
0
Santosh Kathait 9 Май 2014 в 19:05

Вы устанавливаете int для EditText. Преобразуйте int в String. Попробуйте это:

Используйте +, оператор конкатенации строк:

ed = (EditText) findViewById (R.id.box);
int x = 10;
ed.setText(""+x);

или используйте String.valueOf(int):

ed.setText(String.valueOf(x));

или используйте Integer.toString(int):

ed.setText(Integer.toString(x))
0
Community 23 Май 2017 в 12:09