最近有盆友问我一个问题,怎样从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里面加入第一行,问题解决。