-3

我有一些简单的代码,我在EditText字段中输入两个数字,将它们相加,然后将它们显示在TextView.

这是我的代码:

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_world" 
    android:visibility="invisible"/>

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView1"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="32dp"
    android:ems="10"
    android:inputType="number" >

    <requestFocus />
</EditText>

<EditText
    android:id="@+id/editText2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/editText1"
    android:layout_below="@+id/editText1"
    android:layout_marginTop="21dp"
    android:ems="10"
    android:inputType="number" />

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/button1"
    android:layout_alignBottom="@+id/button1"
    android:layout_alignRight="@+id/editText2"
    android:text="Clear"
    android:onClick="Clicked" />

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/editText2"
    android:layout_marginTop="35dp"
    android:text="Total"
    android:onClick="Clicked" />

这是我的Clicked方法:

public void Clicked(View v) {    
    int  total; 
    EditText t1= (EditText)findViewById(R.id.editText1);
    EditText t2= (EditText)findViewById(R.id.editText2);
    TextView tv=  (TextView)findViewById(R.id.textView1);

    if(v.getId()==R.id.button1)
    {     
        total= Integer.parseInt(t1.getText().toString()+t2.getText().toString());
        tv.setText(total);
        tv.setVisibility(1);
    }
    else if (v.getId()==R.id.button2)
    {
        t1.setText("");
        t2.setText("");
    }
}

我输入了两个数字,当我按下清除它工作正常但总按钮不添加。相反,会发生这种情况:

在此处输入图像描述

这可能是我的整数转换有问题或逻辑有问题。

4

2 回答 2

3

改变这个:

total= Integer.parseInt(t1.getText().toString()+t2.getText().toString());

对此:

int v1 = Integer.parseInt(t1.getText().toString());
int v2 = Integer.parseInt(t2.getText().toString());
total = v1 + v2;
于 2013-04-01T00:01:55.560 回答
1

它停止了,因为您可能正在将 Int 值设置为 TextView 的 setText。您需要将其转换为字符串

textView.setText(CharSequence 文本)

int v1 = Integer.parseInt(t1.getText().toString());
int v2 = Integer.parseInt(t2.getText().toString());
total = v1 + v2;
tv.setText(total+""); //this converts total to string
//tv.setText(total.toString());   //can use either
于 2013-04-01T05:27:15.473 回答