1

我有一個14行的表格佈局,每行有2個EditText字段。我有用戶點擊的按鈕,程序計算並打印答案。問題是,只要用戶點擊按鈕,最後一個EditText字段中輸入的字符消失,但當用戶點擊它時,它會消失。請幫我解決這個問題。這是xml文件。EditText中的文本消失

<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

顯示您的按鈕點擊事件代碼。 – Piyush

+0

@PiyushGupta現在看帖子.. – Aadi

回答

0

我解決它,我剛剛從的RelativeLayout改變爲的LinearLayout這裏面解決了這個問題對我來說

0

你的onClick有一個全局變量的TextView( 「TV」)的參考,它設置爲( 「」)空字符串。這也許是您點擊該按鈕後,您的某個觀點中的文字正在消失的原因?

我意識到你的問題是最後一次改變看起來是一個editText,但editText可轉換爲TextView,所以它是檢查的東西。

+0

好吧,我該怎麼辦? – Aadi

+0

需要您確定您的任何視圖是否被合法刪除,如果是,則是正確的被刪空。 – NameSpace

+0

不要生氣,但我不跟着你legiminly消隱?你是什​​麼意思的正確的? – Aadi