EditText的另类用法

最近有盆友问我一个问题,怎样从EditText中拿到内容后形成数字,进行计算。于是乎哥哥我大手一挥写下如下代码。

 1  <EditText
 2         android:id="@+id/text"
 3         android:layout_width="fill_parent"
 4         android:layout_height="wrap_content"
 5         android:numeric="integer" />
 6 
 7     <Button
 8         android:id="@+id/btn"
 9         android:layout_width="fill_parent"
10         android:layout_height="wrap_content"
11         android:text="测试" />

然后,这样。

 1 package com.example.edittext;
 2 
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.view.View;
 6 import android.view.View.OnClickListener;
 7 import android.widget.Button;
 8 import android.widget.EditText;
 9 import android.widget.Toast;
10 
11 public class MainActivity extends Activity {
12     EditText txt1;
13     Button btn;
14 
15     @Override
16     protected void onCreate(Bundle savedInstanceState) {
17         super.onCreate(savedInstanceState);
18         setContentView(R.layout.activity_main);
19         txt1 = (EditText) findViewById(R.id.text);
20         btn = (Button) findViewById(R.id.btn);
21         btn.setOnClickListener(new OnClickListener() {
22 
23             @Override
24             public void onClick(View v) {
25                 // TODO Auto-generated method stub
26                 Toast.makeText(MainActivity.this,
27                         Integer.parseInt(txt1.getText().toString().trim()), 1)
28                         .show();
29             }
30         });
31     }
32 
33 }

哥哥我高兴的说,没有问题了,可是你运行一下就会发现那无情的Force Close会出现。究竟是怎么回事,查阅资料发现,EditText里面有一个默认的东西。于是乎,我就加了一个小东西。

1 <EditText
2         android:text="0"
3         android:id="@+id/text"
4         android:layout_width="fill_parent"
5         android:layout_height="wrap_content"
6         android:numeric="integer" />

在EditText里面加入第一行,问题解决。

原文地址:https://www.cnblogs.com/linzhichao86/p/3260534.html