العودة إلى موقع برمج

اريد تغيير رقم الصف للعنصر داخل الحاوية gridlayout باستخدام كود الجافا

android
#1

عندي 3 عناصر من نوع radiobutton وضعتها داخل حاوية من نوع gridlayout
الى هنا كل شيئ تمام,
السؤال الآن؟
اريد تغيير رقم الصف, لكل عنصر من داخل كود الجافا !
هل هذا ممكن
شكرا لكم

MainActivity
public class MainActivity extends AppCompatActivity {

RadioButton radio1, radio2, radio3;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    radio1 = findViewById(R.id.radio_1);
    radio2 = findViewById(R.id.radio_2);
    radio3 = findViewById(R.id.radio_3);

}

}

activity_main

        <RadioButton
            android:id="@+id/radio_1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Radio Button 1"
            android:layout_column="0"
            android:layout_row="0"
            />
        <RadioButton
            android:id="@+id/radio_2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Radio Button 2"
            android:layout_column="0"
            android:layout_row="1"
            />
        <RadioButton
            android:id="@+id/radio_3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Radio Button 3"
            android:layout_column="0"
            android:layout_row="2"
            />
    </GridLayout>
</RadioGroup>
#2

يرجى تحديد المزيد من المعلومات عن سؤالك لنتمكن من مساعدتك.

#3

الradiobutton الاول في ملف xml يأخذ القيمة 0 فلذلك يكون في البداية
باستخدام
android:layout_row=“0”
وهكذا بقية الازرار
الذي اريده إن قيمة layout_row اقوم بتغيرها من كود جافا
حتى يتغير موضع الزر برمجيا
ارجو ان يكون السؤال اكثر وضوحا

#4

تم نقل سؤالك للقسم المختص وسيتم الرد عليك بأقرب وقت ممكن

1 Like
#5

يمكنك تحقيق ذلك من خلال تغيير بعض الخواص كما هو موضح في الرابط وثم تحديث الlayout
https://developer.android.com/reference/android/widget/GridLayout.LayoutParams

#6

شكرا لك استاذي العزيز
بعد البحث حصلت على المطلوب بأستخدام هذا الكود
gridLayout.removeView(option1);
gridLayout.addView(option1, new GridLayout.LayoutParams(
GridLayout.spec(random[0], GridLayout.FILL),
GridLayout.spec(0, GridLayout.FILL)
));

1 Like
#7

وشكرا لك لمشاركة مستخدمي برمج بطريقة حلك للمشكلة :+1: