我有一个微调器和一个注册按钮。微调器起作用......
typeofcompany.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
ba = typeofcompany.getSelectedItem().toString();
typeofcompany.getItemAtPosition(i);
sss = companycode.get(i);
SelectType(companycode.get(i));
sessionmanager.tosaveRegionName(sss);
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
当我选择微调器的一个项目时,该项应该在按钮的Activity内传递。 我已经使用了捆绑方法 像
Intent intent = new Intent(MainActivity.this, CustRegActivity.class);
intent.putExtra("spinneritem", abc);
startActivity(intent);
但是这个startActivity(intent)直接让我进入第二个活动。我只是想以我的意图发送数据我该怎么做....
答案 0 :(得分:0)
您可以像这样向第二个活动添加方法
public void setSpinnerItem(String abc){
.....
}
设置变量(或静态变量)来保存内容,
然后在第一个活动
中的onItemSelected中调用它或更好 使用名为onSpinnerItemSelected(String abc)的方法在第一个活动中添加一个观察者接口,然后在第二个活动中设置观察者。
您也可以将数据保存在sp,sqlitedb中的第一个活动中,或者只是保存在数据类的实例变量中,然后在第二个活动中获取它们
答案 1 :(得分:0)
您可以使用共享偏好设置。在我的情况下,我通常使用TinyDB,它非常容易使用。 继续并在您的gradle中同步此语句
compile 'com.mukesh:tinydb:1.0.1'
用法非常简单。 只需创建tinyDB的新实例并传递应用程序上下文。这样
TinyDB tinyDB = new TinyDB(getApplicationContext());
在onCreate中启动它,然后以这种方式存储数据:
tinyDB.putString("spinneritem", abc);
您可以从应用中的任何活动中检索此字符串。在您想要获取数据的活动中,再次声明TinyDB的新实例,如上所示,并检索以下列方式存储的数据:
tinyDB.getString("spinneritem");
您可以通过这种方式存储所有变量类型,无论是int,boolean还是数组和对象。