我的应用程序从非活动类中读取数据库,并使用数据库中的数据填充微调器。然后用户从微调器中选择一个值,并用按钮确认它。现在我需要这个值,回到非活动类中进行进一步编码。
我尝试使用return
但是确认按钮的代码为public void onClick(View v)
,return
无法正常工作。
我应该在哪里放置return
,当我按下按钮或者有任何其他方法可以在我的非活动类中获得选定值时。
代码,如果我不清楚我想做什么。
public class MainActivity extends Activity implements OnItemSelectedListener {
/*private List<String> Banka;
private Cursor cBanka;*/
private MyDatabase db;
Spinner spinner;
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner = (Spinner) findViewById(R.id.spinner);
button = (Button) findViewById(R.id.btnPotrdi);
spinner.setOnItemSelectedListener(this);
loadSpinnerData();
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String bank=spinner.getSelectedItem().toString();
Intent next= new Intent(MainActivity.this, ChooseLocation.class);
startActivity(next);
}
});
}
private void loadSpinnerData() {
db = new MyDatabase(this);
List<String> banks = db.getBanka();
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, banks);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//Log.d("wtf", "listview: " + spinner);
spinner.setAdapter(dataAdapter);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
// On selecting a spinner item
String label = parent.getItemAtPosition(position).toString();
// Showing selected spinner item
Toast.makeText(parent.getContext(), "Izbrali ste: " + label,
Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
@Override
protected void onDestroy(){
super.onDestroy();
//cBanka.close();
db.close();
}
}
答案 0 :(得分:0)
当您使用db.getBanka()
时,您肯定可以使用db.setWhateverIWant(passedData)
,并且在您的non-activity
课程中,您有一套方法:
public void setWhateverIWant(Obj passedData){
this.myData = passedData;
}
答案 1 :(得分:0)
您无需退货。只需向MyDatabase
类添加方法,然后从MainActivity
调用该方法。
MainActivity:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String bank=spinner.getSelectedItem().toString();
db = new MyDatabase(MainActivity.this); // if needed
db.setBank(bank); // or any other name you want
}
});
在MyDatabase
,
public class MyDatabase{
public String selectedBank = "";
public void setBank(String bank) { // or any other name you want
selectedBank = bank;
// use your data for whatever you want
}
}