私は以下の壁に達しました。私は私の主な活動から、データベースを生成するJavaクラスに変数を渡そうとしています。この変数をデータベースのクエリの1つで使用して結果を得て、それをメインアクティビティに渡したいからです。 。私が活動し、クラス内のすべてのテントのライブラリをインポートしているにもかかわらず、私のデータベースアクティビティからjavaクラスにデータを渡す方法
//DatabaseHelper
public class DatabaseHelper extends SQLiteOpenHelper{
public Cursor showResults(){
SQLiteDatabase db = this.getWritableDatabase();
//the intent does NOT work
Bundle bundle = getIntent().getExtras();
Cursor results = db.rawQuery("select * from "+TEMP_TABLE+"where value = " + selectedAvgStds , null);
return results;
}
}
意図が働いていないのコードの
//MainActivity
public class MainActivity extends AppCompatActivity {
private static RadioGroup selectedAvgStds;
...... //rest of the code///
public void onClickListenerButton(){
selectedAvgStds = (RadioGroup)findViewById(R.id.controlAverageOfLiving);
showResults.setOnClickListener(
int avgStdLiving = selectedAvgStds.getCheckedRadioButtonId();
selectedAvgStdsRb = (RadioButton) findViewById(avgStdLiving);
//variable that I want to pass
String avgStdLivingText = (String) selectedAvgStdsRb.getText();
switch (option) {
case "one":
Intent intent = new Intent(MainActivity.this,DatabaseHelper.class);
Intent.putExtra("values",avgStdLivingText);
startActivity(intent);
break;
}
);
}
ワンピース:ここでは、コードの私の作品です。目標を達成するにはどうすればいいですか?なぜインテントがここで動作しないのですか?
どんな提案やアイデアも非常に高く評価されます。
DatabaseHelperクラスはアクティビティではないため、startActivity()を呼び出すと動作しません。/データベースヘルパを初期化する場所はどこですか? –
'showResults()'メソッドのパラメータ設定はどうですか? –
あなたのロジックに欠陥があり、 'startActivity(intent);を使用して明らかに' DatabaseHelperが 'Activity'ではなくSQLiteOpenHelperを拡張しているので、動作しません。しかし、私はそれを変更するつもりはありません。なぜあなたのアクティビティに 'DatabaseHelper'のインスタンスを持っていて、あなたのメソッドが可変パラメータを取るのではないのですか? –