当我按下我的按钮将我的EditText信息存储到应用程序崩溃的字符串时,我遇到了问题,我无法发现任何问题,我是否设置错误而且我只是#&# 39;看到了吗?
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 :(得分:1)
如果你这样做
userid.setText(2);
Android会将这个int广告视为一个resourceId,并且不会在R.java中找到它。
所以请记住将String总是传递给setText方法
userid.setText(String.valueOf(2));
或
userid.setText(""+2);
答案 1 :(得分:0)
使用
userid.setText("2");
而不是
userid.setText(2);
答案 2 :(得分:0)
您正在为EditText设置int。将int转换为String。试试this:
使用+,字符串连接运算符:
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))
答案 3 :(得分:0)
您可以将?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);
我知道上面的内容可以写成更少的行,但我希望这很清楚。如果您需要进一步解释,请告诉我。