【发布时间】:2014-04-10 09:54:09
【问题描述】:
我想对两个数字进行求和,其值是通过单击 btnSum(Button) 从编辑文本中收集的。但是当我按下按钮时,什么也没有发生,我什至没有收到任何错误。
public class MainActivity extends ActionBarActivity {
Button btnsum,btnclear;
EditText etno1,etno2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnsum=(Button)findViewById(R.id.editText1);
btnclear=(Button)findViewById(R.id.editText2);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
try
{
btnsum.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(arg0==btnclear)
{
finish();
}
else
{
float no1 = Float.parseFloat( etno1.getText().toString());
float no2 = Float.parseFloat( etno2.getText().toString());
etno1.setText(Float.toString(no1+no2));
}
}
});
}
catch(Exception e)
{
}
}
【问题讨论】:
-
如果执行 else 部分,它应该会崩溃,因为未初始化编辑文本
-
@Raghunandan 它不会崩溃,因为整个代码都在 try catch 中。 @ YouandMe:也发布您的 xml,看来您的 id 也没有命名为组件
-
@user2450263 那里不需要尝试捕获。乍一看,我没有看到 try catch。你应该尝试 catch 这个
float no1 = Float.parseFloat( etno1.getText().toString());catchNumberFormatException。无论如何都不会初始化视图 -
:) 没有说它需要,实际上我不认为这是一个很好的编程习惯,但只是说“它应该崩溃”不会因为 try catch 而发生
-
@YouandMe 您的问题有 4 个答案已经尝试过,如果有任何工作,则将其标记为答案,如果不尝试向问题添加更多内容,例如 logcat 条目或发生错误。
标签: android onclicklistener buttonclick