Форум программистов, компьютерный форум CyberForum.ru

Как сделать LinearLayout в несколько колонок - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android SQLite. Жутко тормозит Cursor http://www.cyberforum.ru/android-dev/thread1061598.html
Выполняю запрос к бд с большими объемами данных, связывая левым соединением несколько таблиц. Выяснил, что запрос выполняется быстро, а тормозит курсор. В выборке может и не быть строк, но первое обращение к курсору (cursor.getCount() или cursor.moveToNext) занимает 900 мсек! В чем причина и что можно сделать? Добавлено через 47 минут А может на самом деле запрос выполняется не в момент...
Программирование Android Как разнести исходной код по разным файлам Допустим у меня есть java файл активити - очень большой много классов, функций. Как этот код разнести по разным файлам, хотя бы классы, подобно как на с++, создаётся файл функций и заголовочный файл который подключается в основной файл. http://www.cyberforum.ru/android-dev/thread1061508.html
Как получить данные из EditText, созданного программно, или как узнать ID элемента? Программирование Android
Всем здрасте и с Новым годом! Суть вопроса: Как получить значение, введенное пользователем в EditText, созданного программно или через адаптер? Ведь его ID не известно :( Теперь подробнее: Есть список, состоящий из строк: TextViev - EditText TextViev - EditText TextViev - EditText ...
Проверка лицензии Программирование Android
Есть проверка лицензии приложения, которая запускается так: mChecker.checkAccess(mLicenseCheckerCallback); Обьект mLicenseCheckerCallback служит для возвращение результата проверки лицензии. Вот его класс. В случае удачной проверки лицензии запускаеться метод allow(). Я хочу чтобы этот метод поменял значение TextView. Проверка лицензии, я так понимаю происходит в свое потоке (я ее не...
Программирование Android База записей, из которой каждый день нужно брать пару-тройку определенных и показывать на экране http://www.cyberforum.ru/android-dev/thread1061392.html
Всем доброго времени суток Возникла такая проблема: требуется создать очень простое приложение на Android, но опыта в разработке приложений для мобильных устройств у меня абсолютно никакого. Имеются довольно широкие познания в программировании, схватываю на лету, но на Java и, тем более, под Android ничего не писал. Суть приложения такова: Имеется база записей, из которой каждый день нужно...
Программирование Android API Авито вытянуть информацию об объявлении Всем привет. Появилась нужда вытянуть информацию об объявлении, но при частом обращении к авито, они банят по ip. А мобильное приложение под андройд продолжает работать. Оно работает на апи. Может кто знает как правильно к нему обращаться, документации нет, да и вообще оно у них приватное. Вот адрес апи Вот раздебаженное приложение авито подробнее

Показать сообщение отдельно
VEINHORN
543 / 92 / 22
Регистрация: 16.12.2011
Сообщений: 317
03.01.2014, 19:00     Как сделать LinearLayout в несколько колонок
Layout MainActivity

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<LinearLayout
        android:background="@drawable/search_results_info_module"
        android:layout_marginTop="5dp"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <GridView
            android:id="@+id/some_id"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:numColumns="auto_fit" // тут можно указать число колонок
            android:columnWidth="150dp"
            android:stretchMode="columnWidth"
            android:verticalSpacing="2dp"
            android:horizontalSpacing="3dp">
        </GridView>
    </LinearLayout>
Ячейка GridView:

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="123"
        android:id="@+id/someid"
        android:textStyle="bold"
        android:textSize="20sp"
        android:layout_margin="3dp"/>
</LinearLayout>
Собственный адаптер:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
public class YourAdapter extends BaseAdapter {
 
    private static class ViewHolder {
        TextView title;
    }
 
    private Context context;
    private ArrayList<YourType> arrayList;
    private LayoutInflater layoutInflater;
 
 
    public GenreItemAdapter(Context context, ArrayList<YourType> arrayList) {
        this.context = context;
        this.arrayList = arrayList;
        layoutInflater = LayoutInflater.from(context);
    }
 
    @Override
    public int getCount() {
        return arrayList.size();
    }
 
    @Override
    public Object getItem(int position) {
        return arrayList.get(position);
    }
 
    @Override
    public long getItemId(int position) {
        return position;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder viewHolder;
 
        if(convertView == null) {
            convertView = layoutInflater.inflate(R.layout.id_of_your_grid_view_item_layout, null);
            viewHolder = new ViewHolder();
            viewHolder.title = (TextView)convertView.findViewById(R.id.yourid);
            convertView.setTag(viewHolder);
        } else {
            viewHolder = (ViewHolder)convertView.getTag();
        }
 
        viewHolder.title.setText(arrayList.get(position).getTitle());
 
        return convertView;
    }
}
Main Activity:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class YourActivity extends ActionBarActivity {
 
    private GridView yourGridView;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.your_main_activity_layout);
 
        yourGridView = (GridView)findViewById(R.id.your_grid_view_id);
        ArrayList<YourType> arrayList = new ArrayList<YourType>();
        YourAdapter yourAdapter = new YourAdapter(this, arrayList);
        yourGridView.setAdapter(yourAdapter);
    }
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru