【问题标题】:Text in the EditText DisappearsEditText 中的文本消失
【发布时间】:2014-03-01 10:24:27
【问题描述】:

我有一个 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);
                }
            }

【问题讨论】:

  • 显示您的按钮点击事件代码。
  • @PiyushGupta 立即查看帖子..

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


【解决方案1】:

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

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

【讨论】:

  • 好的,我该怎么办?
  • 需要您确定是否有任何视图被合法地清空,如果是,那么正确的视图是否被清空。
  • 别生气但我不跟着你合法地空白?你说的正确是什么意思?
  • 您的代码使用 tv.setText(""); 从其中一个 textViews 中删除文本;您的问题还在于,当您单击执行该代码的按钮时,其中一个 textViews 正在丢失其文本。因此,显然,我们需要弄清楚这两件事是否相关。当您单击该按钮时,您的代码是否应该从任何 TextView 中删除文本(即它们是否被合法地空白)?如果是这样,它是否消隐了正确的 TextView?
  • 好的,因为你说它冲突我删除了 tv.setText("") 之后我点击了按钮它并没有消失但是现在当我向上滚动它消失了......
【解决方案2】:

我解决了我只是从 RelativeLayout 更改为 LinearLayout 解决了我的问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-10
    • 1970-01-01
    • 2021-03-03
    • 1970-01-01
    • 2021-04-14
    • 1970-01-01
    • 2011-08-22
    相关资源
    最近更新 更多