Размер Android EditText в GridView - PullRequest
       16

Размер Android EditText в GridView

0 голосов
/ 10 ноября 2011

У меня есть два GridView, расположенных рядом.

Первый GridView содержит переменные объекты, в данном случае некоторые EditTexts, в зависимости от режима игры.

Второй GridView содержит TextViews, которые помечают строки.

Поскольку я использую первый GridView для множества разных вещей, я создаю объекты EditText программно. Однако мне трудно заставить их размер совпадать с маркерами строки EditText.

1) Должен ли я создавать свои объекты EditText в формате xml (и если да, то где бы я их разместил и какие свойства я должен установить)?

2) Если программное создание EditTexts в порядке, как я могу изменить их размер с помощью кода, чтобы он соответствовал номерам строк?

view from the emulator

После загрузки объектов GridView из макета, рекомендованного ниже, мне выдается исключение ClassCastException с жалобой на LayoutParams:

public View getView(int position, View convertView, ViewGroup parent) {
            EditText textbox;
            View MyView = convertView;
            if (convertView == null) {

                LayoutInflater li = getLayoutInflater();
                MyView = li.inflate(R.layout.edittextfull, null);
                textbox = (EditText) MyView.findViewById(R.id.textbox);

            }
            else 
                textbox = (EditText) convertView;
            return textbox;
}

1 Ответ

1 голос
/ 10 ноября 2011

Вот ваш ряд

<LinearLayout android:layout_width="fill_parent"
                  android:layout_height="wrap_content" >
                <EditText android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:layout_gravity="center_vertical"
                         android:layout_weight="1"
                 />
                 <TextView  android:layout_width="wrap_content" 
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_vertical"
                        android:text="row 1"
                 />              
    </LinearLayout>

использовать xml всегда лучше. поэтому избегайте прагматичного создания представления, пока оно не станет единственным.

...