2013-02-01 37 views
0

我在設置數字到文本視圖時遇到問題,它只顯示第一個數字並截斷其餘數字。例如,如果我設置這個字符串「12345」,它只顯示「1」。請注意,如果我在setText方法中硬編碼該數字,它會起作用,但是當我通過Integer.toString設置數字時,它不會。此外,我做了一個吐司調試和它顯示的字符串是正確的。Android中的TextView截斷數

這裏是我的活動代碼:

int inviteCount = inviteArray.size(); 
String inviteCountString = Integer.toString(inviteCount); 
inviteCountTextView.setText(inviteCountString); 
showToast(inviteCountString); 

protected void showToast(final String text) { 
    // Creates a Toast when there is an error 
    runOnUiThread(new Runnable(){ 
     @Override 
     public void run() { 
      Toast.makeText(RootActivity.this, text, Toast.LENGTH_SHORT).show(); 
     } 
    }); 
} 

這裏是佈局文件

<FrameLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 

    <ImageView 
     android:id="@+id/inviteImageView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/friend_invitations_background" /> 

    <TextView 
     android:id="@+id/inviteNumber" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:layout_marginBottom="2dp" 
     android:text="0" 
     android:textColor="#88ffffff" 
     android:textSize="12sp" /> 
</FrameLayout> 

提前感謝代碼。

編輯:

下面是錯誤的截圖。正如你所看到的,吐司顯示的是10.但是在頂部的texfield上只顯示了1.同樣,如果我編寫android:text =「10」,它顯示正確。

Error

+0

的typeof'inviteArray'? – vault

+0

這是邀請的數組列表。在這種情況下它只返回列表的大小。 – Jan

+0

並用String.valueOf方法? – psykhi

回答

1

這無疑是一個佈局問題。您可以使用Eclipse中的ADT工具檢查佈局層次結構。可能TextView的寬度被FrameLayout限制,僅測量其直接子尺寸,即ImageView的尺寸。

說實話,我很疑惑爲什麼它的初始值是正確設置尺寸,爲什麼尺寸不是由全部孩子決定的。

我會建議用TextView替換FrameLayout的效率低下的結構,並帶背景。也許爲了縮小問題範圍,您可以簡化該視圖的佈局。

例如:

<TextView 
    android:id="@+id/inviteNumber" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:layout_marginBottom="2dp" 
    android:text="0" 
    android:textColor="#88ffffff" 
    android:textSize="12sp" 
    android:background="@drawable/friend_invitations_background" />