我正在开发一个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,但我的空白框有单选按钮,但没有文字。
如何获得股票默认微调器?
我应该将数据库的内容加载到字符串中并提供给数组适配器吗?如果是这样的话怎么样?
答案 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 [],mSelectedCategory
和int
代表所选类别。