Стиль блесны по умолчанию в Android - PullRequest
3 голосов
/ 05 августа 2011

Я занимаюсь разработкой приложения для Android, в котором я заполняю счетчик из базы данных, используя simpleAdaptor.

SimpleCursorAdapter deptype =new SimpleCursorAdapter(this,R.layout.dbspinner, depcur, from, to);   dep.setAdapter(deptype);

Данные загружаются нормально, но мне не нравится внешний вид Spinner.

Блеск, который я получил с

 ArrayAdapter<CharSequence> practype = ArrayAdapter.createFromResource(this,R.array.practice, android.R.layout.simple_spinner_item);

красивее с переключателем сбоку, в то время как тот, который я получил, просто показывает содержимое, разделенное линиями, что совсем не красиво.

Я пробовал различные изменения в моем макете dbspinner, но ничто не сравнится со стандартным стандартным блесном в Android. Я также попытался заменить dbspinner на android.R.layout.simple_spinner_item, но я получил пустые поля с переключателями, но без текста.

Как я могу получить стандартный блесна?

Должен ли я загрузить содержимое базы данных в строку и передать массив адаптеру? Если да, то как?

Ответы [ 2 ]

3 голосов
/ 05 августа 2011

Элемент simple_spinner_item определяется как:

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1"
    style="?android:attr/spinnerItemStyle"
    android:singleLine="true"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ellipsize="marquee" />

Таким образом, чтобы использовать его в качестве представления вашего элемента, используйте «text1» в качестве идентификатора в массиве целых чисел ресурса.

Т.е.:

// Create the array containing column names
String[] columns = new String[] { "ColumnNameX" };

// Create the array containing resource ids
int[] resources = new int[] { android.R.id.text1 };

// Create the cursor adapter
mCursorAdapter = new SimpleCursorAdapter(
    MyActivity.this,
    android.R.layout.simple_spinner_item,
    data,
    columns,
    resources);
0 голосов
/ 05 августа 2011

Вы можете использовать этот код:

  AlertDialog.Builder builder=new AlertDialog.Builder(this);
        builder.setTitle("Category");
        builder.setCancelable(true);
        builder.setSingleChoiceItems(CATEGORIES_TXT, mSelectedCategory, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
                //new category selected
                dialog.dismiss();
            }
        });
        AlertDialog alert=builder.create();
        alert.show();

CATEGORIES_TXT - это строка [], а mSelectedCategory - int, представляющая выбранную категорию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...