我试图将用户输入捕获到标记为电话输入类型的edittext中,并且由于某种原因我无法实际捕获输入的数字。
LayoutInflater inflater = LayoutInflater.from(PbfSampleApplication.this);
View v = inflater.inflate(R.layout.activity_main, null);
EditText innerView = (EditText)v.findViewById(R.id.number);
String actualnum="tel:"+innerView.getText().toString();
我正在与之合作。用户输入的主要xml是
<EditText
android:id="@+id/number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView2"
android:layout_marginTop="19dp"
android:hint="Phone Number"
android:ems="10"
android:inputType="phone" />
我在调试器中得到的是
v=android.widget.RelativeLayout{c1f5c25 V.E...... ......I. 0,0-0,0
#7f0d00a2 app:id/activity_main}
innerView=android.widget.EditText{3bc4f87 VFED..CL. ......I. 0,0-0,0
#7f0d00a7 app:id/number}
actualnum="tel:"
问题在于实际问题。无论编辑文本输入什么,我实际上都没有得到用户输入,我不知道为什么。
答案 0 :(得分:0)
嗯......默认情况下,Edittext中没有文字。所以你总是把它变成空的。
如果添加textwatchlistener,并在那里打印edittext的文本,您将获得edittext的实际值。
PS:为了让你现有的代码按原样运行,我建议你在XML中添加一些默认文本,然后打印出来
答案 1 :(得分:0)
您正在尝试在创建活动后立即获取文本,因此您的edittext字符串将始终为空。使用
\r
在按钮监听器或其他内容中。