我是Android开发的新手,我正在尝试使用数据库列中的数据填充微调器。我成功地用数据填充了光标对象,但显然我做错了。
我在这里读到了其他主题中的类似问题,但没有真正解决我的问题。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_set_grade);
AssetDatabaseHelper dbHelper = new AssetDatabaseHelper(getBaseContext(), "myDB");
try {
dbHelper.importIfNotExist();
} catch (IOException e) {
e.printStackTrace();
}
db = dbHelper.getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT name AS _id from Items",null);
SimpleCursorAdapter adapter = new SimpleCursorAdapter(
this,
R.layout.activity_set_grade,
cursor,
fromCols,
toViews,
0);
spinner = (Spinner) findViewById(R.id.items_spinner);
adapter.setDropDownViewResource(R.id.items_spinner);
spinner.setAdapter(adapter);
}
我的activity_set_grade包含这个微调器(如果重要的话,在RelativeLayout中):
<Spinner
android:id="@+id/items_spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
我在Logcat中收到以下错误消息
java.lang.IllegalStateException: android.support.v7.widget.AppCompatSpinner is not a view that can be bounds by this SimpleCursorAdapter
提前谢谢!
答案 0 :(得分:0)
我相信您正在从Android框架SimpleCursorSpinner
导入,但由于您正在使用库内容,因此您也必须使用库中的SimpleCursorSpinner
。
这是对您的导入的简单更改:
import android.widget.SimpleCursorAdapter
到
import android.support.v4.widget.SimpleCursorAdapter