最近有盆友问我一个问题,怎样从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 {12EditText txt1;13Button btn;14 15@Override16protected 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 @Override24 public void onClick(View v) {25 // TODO Auto-generated method stub26 Toast.makeText(MainActivity.this,27Integer.parseInt(txt1.getText().toString().trim()), 1)28.show();29 }30 });31}32 33 }
哥哥我高兴的说,没有问题了,可是你运行一下就会发现那无情的Force Close会出现。究竟是怎么回事,查阅资料发现,EditText里面有一个默认的东西。于是乎,我就加了一个小东西。
1 <EditText2 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里面加入第一行,问题解决。