我想从EditText获取文本并将其附加到我的spinner。首先我尝试了这个:
private EditText edit;
private EditText editt;
String team1 = edit.getText().toString();
String team2 = editt.getText().toString();
并获得NullPointerException
。
我将代码格式化为:
private EditText t1;
private EditText t2;
String team1 = ((t1 != null) && (t1.getText().toString().trim().size()) > 0)
? t1.getText()
: 0;
String team2= ((t2 != null) && (t2.getText().toString().trim().size()) > 0)
? t2.getText()
: 0;
我收到另一个错误,说上面的条件总是为空。
答案 0 :(得分:3)
您不是在创建视图,必须使用window['environment'].someValue
或使用findViewById
例如:
EditText edit = new EditText(context)
答案 1 :(得分:1)
您是否findViewById
使用了EditTexts
?
答案 2 :(得分:1)
首先您应该通过调用View
来初始化活动类中的findViewById(R.id.editTextId)
个对象。
其次 String
对象没有.size()
方法。如果您想知道此字符串的长度,您应该使用.length()
方法
第三点无法将int值0
分配给String对象。
EditText t1 = (EditText) findViewById(R.id.editTextId);
String team1 = ((t1 != null) && (t1.getText().toString().trim().length()) > 0)?
t1.getText().toString() : "0";
答案 3 :(得分:1)
除了一些注释之外,如果你的compileSdk至少是26,你也可以在使用findViewById时删除它。
这样:
EditText edit = findViewById(R.id.edit_text_id);
答案 4 :(得分:0)
EditText edit = (EditText) findViewById(R.id.edit_text_id);
请用这个:
t1.getText().toString().trim().length()