我有一个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);
}
}
答案 0 :(得分:0)
你的onClick引用了一个全局TextView变量(“tv”),它设置为(“”)一个空字符串。这可能是您单击按钮时其中一个视图中的文本消失的原因吗?
我意识到你的问题是最后一个视图更改,它似乎是一个editText,但是editText可以转换为TextView,因此需要检查。
答案 1 :(得分:0)
我解决了它我刚刚从 RelativeLayout 改为 LinearLayout 那解决了我的问题