android中的默认微调器样式

时间:2011-08-05 13:56:00

标签: java android sqlite android-layout android-widget

我正在开发一个Android应用程序,我在其中使用simpleAdaptor从数据库填充一个微调器。

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

数据加载正常,但我不喜欢Spinner的“Look”。

我得到的微调器

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

侧面有一个单选按钮,更漂亮,而我得到的只是显示内容分隔的内容,这些内容并不美观。

我在dbspinner的布局中尝试了各种更改,但没有任何内容等同于android中的默认股票微调器。我也尝试用android.R.layout.simple_spinner_item替换dbspinner,但我的空白框有单选按钮,但没有文字。

如何获得股票默认微调器?

我应该将数据库的内容加载到字符串中并提供给数组适配器吗?如果是这样的话怎么样?

2 个答案:

答案 0 :(得分:3)

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”作为您的ID。

即:

// 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);

答案 1 :(得分:-1)

您可以使用此代码:

  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是一个String [],mSelectedCategoryint代表所选类别。