使用getText()并将其附加到我的微调器时出错

时间:2018-04-10 13:06:16

标签: java android

我想从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;

我收到另一个错误,说上面的条件总是为空。

These are the errors I am facing.

5 个答案:

答案 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()