Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用arraylist将sqlite中的现有数据填充到微调器中_Android_Sqlite_Arraylist_Android Sqlite - Fatal编程技术网

Android 使用arraylist将sqlite中的现有数据填充到微调器中

Android 使用arraylist将sqlite中的现有数据填充到微调器中,android,sqlite,arraylist,android-sqlite,Android,Sqlite,Arraylist,Android Sqlite,大家好,我很难将现有数据从sqlite绑定到spinner。我必须申请arraylist吗?如果是,我该怎么做?请帮助我,我还是新的,这是我的项目 Spinner SpListofShop = findViewById(R.id.SpListofShop); ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simpl

大家好,我很难将现有数据从sqlite绑定到spinner。我必须申请arraylist吗?如果是,我该怎么做?请帮助我,我还是新的,这是我的项目

Spinner SpListofShop = findViewById(R.id.SpListofShop);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(),  android.R.layout.simple_spinner_dropdown_item, db.alldata());
    adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item);

    SpListofShop.setAdapter(adapter);
以下是从数据库获取数据的方式:

public Cursor alldata()
{

  ArrayList<String> values = new ArrayList<String>();
  SQLiteDatabase db = this.getReadableDatabase();
  Cursor cursor = db.rawQuery("Select * from shop", null);
  return cursor;
}
Spinner SpListofShop = findViewById(R.id.SpListofShop);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(),  android.R.layout.simple_spinner_dropdown_item, db.alldata());
    adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item);

    SpListofShop.setAdapter(adapter);
我真的希望你们能帮我我太绝望了

Spinner SpListofShop = findViewById(R.id.SpListofShop);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(),  android.R.layout.simple_spinner_dropdown_item, db.alldata());
    adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item);

    SpListofShop.setAdapter(adapter);
调用公共arraylist函数的编码

Spinner SpListofShop = findViewById(R.id.SpListofShop);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(),  android.R.layout.simple_spinner_dropdown_item, db.alldata());
    adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item);

    SpListofShop.setAdapter(adapter);
这是调用databasehelper.java中公共arraylist的编码:

Spinner SpListofShop = findViewById(R.id.SpListofShop);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(),  android.R.layout.simple_spinner_dropdown_item, db.alldata());
    adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item);

    SpListofShop.setAdapter(adapter);
微调器SpListofShop=findviewbyd(R.id.SpListofShop);
ArrayAdapter=新的ArrayAdapter(getApplicationContext(),android.R.layout.simple_微调器_下拉列表_项,db.alldata());
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
SpListofShop.setAdapter(适配器);

1.将
所有数据更改如下:

Spinner SpListofShop = findViewById(R.id.SpListofShop);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(),  android.R.layout.simple_spinner_dropdown_item, db.alldata());
    adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item);

    SpListofShop.setAdapter(adapter);
public ArrayList<String> alldata()
{

    ArrayList<String> values = new ArrayList<String>();
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery("Select * from shop", null);
    for (int i=0;i<cursor.getCount();i++){
        values.add(cursor.getString(cursor.getColumnIndex("row_name")));
        //edit, change row_name with your row
    }
    cursor.close();
    return values;
}
public ArrayList alldata()
{
ArrayList值=新的ArrayList();
SQLiteDatabase db=this.getReadableDatabase();
Cursor Cursor=db.rawQuery(“从商店中选择*”,null);

对于(int i=0;i您不需要任何数组或列表,
while(cursor.moveToNext())
loop-只需使用
SimpleCorsorAdapter
代替,不-不要使用任何
ArrayAdapter
s。我可以知道为什么不能使用ArrayAdapter吗?现有数据有一个名为shop的表,其中只有一列名为shopname。因此,我要在spinner上显示的数据是shopname中的数据。是bc吗?我只有一列吗r?@pskinkwhy?因为你不必为
ArrayAdapter
使用的popolate-tne-list/arrau使用任何循环,使用
SimpleCursorAdapter
你只需在构造函数中传递一个
光标即可-仅此而已-另外,你在
OnItemSelectedListener\onItemSelected
方法中有有效的
id
,现在我看到了感谢您提供的信息:)@pskinki想知道行名是第一个数据还是列名吗?我很困惑,也非常感谢你的步骤和编码:)@touhidulislam@j-h13我刚才回答了当数据来自
光标时为什么不应该使用
ArrayAdapter
-为什么坚持使用它?@j-h13,
选择*。..
返回表中的所有数据,但是,您希望在微调器上显示特定名称,例如,
名称
行的值。如果是,请将
行名称
替换为
名称
@j-h13此答案是否解决了您的问题?如果是,请接受it@TouhidulIslam对不起,先生,它不起作用了。对不起,回信晚了