0

私のコードの一部はLinearLayout内にありScrollViewます。ScrollViewには、各行に 4 列の10 行があります。最初の列は小さいImageView(赤い「x」または緑のチェック マーク)。下の写真から、ImageViewなぜか1枚目だけ表示されています。最初の列の各行に 1 つ表示したい。

XML コードは次のとおりです。

<ScrollView
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="65"
        android:fillViewport="true" >

        <LinearLayout 
            android:layout_width="fill_parent"   
            android:layout_height="wrap_content"
            android:orientation="vertical" > 

            <LinearLayout
                android:layout_width="fill_parent"   
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageView 
                    android:id="@+id/q1Image"
                    android:layout_width="10dp"
                    android:layout_height="10dp" /> 

                <TextView 
                    android:id="@+id/q1Question"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:textSize="10sp"
                    android:layout_weight="48"
                    android:paddingLeft="5dp"
                    android:paddingBottom="6dp" /> 

                <TextView 
                    android:id="@+id/q1Answer"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:textSize="10sp"
                    android:layout_weight="27"
                    android:paddingBottom="6dp"  /> 

                <TextView 
                    android:id="@+id/q1Verse"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:textSize="10sp"
                    android:layout_weight="25"
                    android:paddingBottom="6dp"  /> 
            </LinearLayout>

        <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"       
            android:background="#C2BEBF" />

            <LinearLayout
                android:layout_width="fill_parent"   
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageView 
                    android:id="@+id/q2Image"
                    android:layout_width="10dp"
                    android:layout_height="10dp" />

                <TextView 
                    android:id="@+id/q2Question"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:textSize="10sp"
                    android:layout_weight="48"
                    android:paddingLeft="5dp"
                    android:paddingBottom="6dp"
                    android:paddingTop="6dp" /> 

                <TextView 
                    android:id="@+id/q2Answer"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:textSize="10sp"
                    android:layout_weight="27"
                    android:paddingBottom="6dp"
                    android:paddingTop="6dp" /> 

                <TextView 
                    android:id="@+id/q2Verse"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:textSize="10sp"
                    android:layout_weight="25"
                    android:paddingBottom="6dp"
                    android:paddingTop="6dp"  /> 
            </LinearLayout>

        <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"       
            android:background="#C2BEBF" />

            <LinearLayout
                android:layout_width="fill_parent"   
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageView 
                    android:id="@+id/q3Image"
                    android:layout_width="10dp"
                    android:layout_height="10dp" />

                <TextView 
                    android:id="@+id/q3Question"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:textSize="10sp"
                    android:layout_weight="48"
                    android:paddingLeft="5dp"
                    android:paddingBottom="6dp"
                    android:paddingTop="6dp"  />  

                <TextView 
                    android:id="@+id/q3Answer"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:textSize="10sp"
                    android:layout_weight="27"
                    android:paddingBottom="6dp"
                    android:paddingTop="6dp"  /> 

                <TextView 
                    android:id="@+id/q3Verse"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:textSize="10sp"
                    android:layout_weight="25"
                    android:paddingBottom="6dp"
                    android:paddingTop="6dp"  /> 
            </LinearLayout>

Java コード

ImageView q1Image = (ImageView)findViewById(R.id.q1Image);
        q1Image.setScaleType(ImageView.ScaleType.FIT_CENTER);
        ImageView q2Image = (ImageView)findViewById(R.id.q2Image);
        q2Image.setScaleType(ImageView.ScaleType.FIT_CENTER);
        ImageView q3Image = (ImageView)findViewById(R.id.q3Image);
        q3Image.setScaleType(ImageView.ScaleType.FIT_CENTER);
        ImageView q4Image = (ImageView)findViewById(R.id.q4Image);
        q4Image.setScaleType(ImageView.ScaleType.FIT_CENTER);
        ImageView q5Image = (ImageView)findViewById(R.id.q5Image);
        q5Image.setScaleType(ImageView.ScaleType.FIT_CENTER);
        ImageView q6Image = (ImageView)findViewById(R.id.q6Image);
        q6Image.setScaleType(ImageView.ScaleType.FIT_CENTER);
        ImageView q7Image = (ImageView)findViewById(R.id.q7Image);
        q7Image.setScaleType(ImageView.ScaleType.FIT_CENTER);
        ImageView q8Image = (ImageView)findViewById(R.id.q8Image);
        q8Image.setScaleType(ImageView.ScaleType.FIT_CENTER);
        ImageView q9Image = (ImageView)findViewById(R.id.q9Image);
        q9Image.setScaleType(ImageView.ScaleType.FIT_CENTER);
        ImageView q10Image = (ImageView)findViewById(R.id.q10Image);
        q10Image.setScaleType(ImageView.ScaleType.FIT_CENTER);

        ArrayList<ImageView> ivArray = new ArrayList<ImageView>(10);
        ivArray.add(q1Image);
        ivArray.add(q2Image);
        ivArray.add(q3Image);
        ivArray.add(q4Image);
        ivArray.add(q5Image);
        ivArray.add(q6Image);
        ivArray.add(q7Image);
        ivArray.add(q8Image);
        ivArray.add(q9Image);
        ivArray.add(q10Image);
        for(int i = 0; i < 1; i++) {
            if(qs.get(i).getSelectedAnswer() == qs.get(i).getCorrectAnswer()) {
                ivArray.get(i).setBackgroundResource(R.drawable.green_check_mark);
            } else {
                ivArray.get(i).setBackgroundResource(R.drawable.red_x);
            }
        }

ここに画像の説明を入力

4

2 に答える 2

3

Java コードのバグは次のとおりです。

for(int i = 0; i < 1; i++) {
     if(qs.get(i).getSelectedAnswer() == qs.get(i).getCorrectAnswer()) {
         vArray.get(i).setBackgroundResource(R.drawable.green_check_mark);
      } 
// ....

ループは 1 で停止し(i < 1)ます。に変更してみて(i < 10)、改善されるかどうかを確認してください。

于 2013-02-08T17:56:17.437 に答える