0

テキスト ビューに数字を設定するのに問題があります。最初の数字だけが表示され、残りは切り捨てられます。たとえば、この文字列を「12345」に設定すると、「1」のみが表示されます。setText メソッドでその数値をハードコードすると機能しますが、Integer.toString で数値を設定すると機能しないことに注意してください。また、デバッグ用にトーストを作成しましたが、表示される文字列は正しいものです。

アクティビティのコードは次のとおりです。

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" と書くと正しく表示されます。

エラー

4

1 に答える 1

1

これは間違いなくレイアウトの問題です。Eclipse の ADT ツールを使用して、レイアウト階層を調べることができます。の幅は、直接の子の寸法、つまり の寸法のみを測定することTextViewによって固定されている可能性があります。FrameLayoutImageView

正直なところ、なぜ初期値が正しく次元を設定しているのか、そして次元がすべての子によって決定されないのか、私は戸惑っています。

の非効率的な構造を背景のある aFrameLayoutだけに置き換えることをお勧めします。TextViewおそらく問題を絞り込むために、そのビューの周りのレイアウトを単純化できます。

例えば:

<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" />
于 2013-09-29T18:45:04.900 に答える