EditText中的文本消失

时间:2014-03-01 10:24:27

标签: android xml android-edittext android-xml android-tablelayout

我有一个14行的表格布局,每行有2个EditText字段。我有用户点击的按钮,程序计算并打印答案。问题是,一旦用户点击按钮,在最后一个EditText字段中输入的字符就会消失,但是当用户点击它时,它会重新启用。请帮我解决这个问题。这是xml文件。

 <TableRow 
 android:id="@+id/tableRow2" 
 android:layout_width="fill_parent" 
 android:layout_height="50dp">

 <TextView 
 android:textSize="20sp" 
 android:typeface="sans" 
 android:textStyle="bold" 
 android:gravity="center" 
 android:id="@+id/sub1" 
 android:padding="10dp" 
 android:layout_width="120dp" 
 android:layout_height="wrap_content" 
 android:text="@string/sub1" />

 <EditText 
 android:gravity="center" 
 android:id="@+id/subject1" 
 android:padding="10dp" 
 android:layout_width="120dp" 
 android:layout_height="wrap_content" 
 android:inputType="text" >
 <requestFocus />
 </EditText>

 <EditText 
 android:gravity="center" 
 android:id="@+id/credits1" 
 android:padding="10dp" 
 android:layout_width="120dp" 
 android:layout_height="wrap_content" 
 android:inputType="phone" >
 <requestFocus />
 </EditText>

 </TableRow>

这是点击代码

public void onClick(View arg0) {
            // TODO Auto-generated method stub
            tv.setText("");
            num=0;
            den=0;
            f=0;

            if(dept.equalsIgnoreCase("cse")||dept.equalsIgnoreCase("mechtronics")||dept.equalsIgnoreCase("genetics")) {
                for(int i=0;i<12;i++) {
                    s[i]=sub[i].getText().toString();
                    g[i]=SetGP.setGP(s[i]);
                    c[i]=Float.parseFloat(cre[i].getText().toString());
                    if((g[i]==-1)&&((c[i]>=1)&&(c[i]<=4))) {
                        j=String.valueOf(i+1);
                        Toast.makeText(Gpa.this, "Please Enter Valid Grade For Subject "+j, Toast.LENGTH_LONG).show();
                        f=1;
                        break;
                    }   
                    else if((g[i]!=-1)&&((c[i]<1)||(c[i]>4))) {
                        j=String.valueOf(i+1);
                        Toast.makeText(Gpa.this, "Please Enter Valid Credits For Subject "+j, Toast.LENGTH_LONG).show();
                        f=1;
                        break;
                    }
                    else if((g[i]==-1)&&((c[i]<1)||(c[i]>4))) {
                        j=String.valueOf(i+1);
                        Toast.makeText(Gpa.this, "Please Enter Valid Grade and Credits For Subject "+j, Toast.LENGTH_LONG).show();
                        f=1;
                        break;
                    }
                }

                for(i=0;i<12;i++) {
                    num = CalcGPA.calcnum(g[i], c[i], num);
                    den = CalcGPA.calcden(c[i], den);
                }
            }

2 个答案:

答案 0 :(得分:0)

你的onClick引用了一个全局TextView变量(“tv”),它设置为(“”)一个空字符串。这可能是您单击按钮时其中一个视图中的文本消失的原因吗?

我意识到你的问题是最后一个视图更改,它似乎是一个editText,但是editText可以转换为TextView,因此需要检查。

答案 1 :(得分:0)

我解决了它我刚刚从 RelativeLayout 改为 LinearLayout 那解决了我的问题