-2

我想将一个变量传递给我正在执行 SQLite 查询的 DBConnector.Java,但我不知道该怎么做,需要一些帮助。

public void onItemSelected(AdapterView<?> parent, View view, int position,long id) 
    {
                spinnerRub.setSelection(position);      
            myRub = (String) spinnerRub.getSelectedItem();

    }

现在我想将 myRub 传递给我拥有的 DBConnector.Java:

public List<String> getAllCapabilities1()
{             

List<String> Caps = new ArrayList<String>();

                String selectQuery = "SELECT Cap_Name FROM capability where Rub_ID = 'myRub'";

            SQLiteDatabase database = this.dbOpenHelper.getReadableDatabase();
            //Cursor cursor = database.rawQuery(selectQuery, null);
            Cursor cursor = database.rawQuery(selectQuery, null);
            // looping through all rows and adding to list
            if (cursor.moveToFirst()) 
            {
                do 
                {
                  Caps.add(cursor.getString(0));
                } while (cursor.moveToNext());
            }

            // closing connection
            cursor.close();
            database.close();

            // returning lables
            return Caps;
        }   

但我正在努力做到这一点,需要帮助。

4

5 回答 5

4

使用 Intent 传递您的数据:

  i.putExtra("myRub",myRub);

i对象在哪里Intent

使用在其他活动中检索它

Bundle extras = getIntent().getExtras();
String a = extras.getString("myRub");
于 2013-03-06T10:59:26.567 回答
1

在您的 dbconnetion.java 文件中修改它并通过方法或 sharedpref 传递 myrub

String selectQuery = "SELECT Cap_Name FROM capability where Rub_ID = '"+myRub+"'";

两次活动之间

Intent i = new Intent(Intent.ACTION_VIEW);
i.putExtra("myrub", "This value one for ActivityTwo ");
startActivity(i);
于 2013-03-06T10:56:50.140 回答
0

这是一个将数据传递给活动并检索的示例

Intent intent = new Intent();
intent.setClass(this, New.class);

Bundle b = new Bundle();
b.putInt("action", nResponse ); // integer value
b.putString("homename", sHomeName); // string value
intent.putExtras(b);
startActivity(intent);

在您的 new.class 的 oncreate 方法中,请遵循

Bundle b = getIntent().getExtras();
if( b != null ){
    nAction = b.getInt("action");
    sHomeName = b.getString("homename");
}
于 2013-03-06T11:08:14.390 回答
0

在您的活动中(我假设您有对 dbConnector 的引用?):

spinnerRub.setSelection(position);      
myRub = (String) spinnerRub.getSelectedItem();
dbConnector.setMyRub(myRub);

在 DBConnector.java 中

public void setMyRub(String myRub){
    // do what you need to do with myRub
}
于 2013-03-06T11:27:57.870 回答
-1

使用意图在活动之间传递数据

   Intent intent = new Intent(yourActivity.this, DBConnector.class);
   intent.putExtra("myRub", myRub);
   startActivity(intent);

getIntent().getExtras()用来取回它

于 2013-03-06T11:02:08.483 回答