【发布时间】:2017-06-06 15:13:47
【问题描述】:
我有一个带有两个按钮的活动。这两个按钮将您带到下一个活动,同时为 sharedpreferences 赋予一个值。我想在我最后的活动中访问这个值。
- 如何检查两个按钮中的哪一个被按下?
- 我的代码有什么问题?最后我总是得到相同的值。所以我似乎总是按同一个按钮,但我没有。
这是两个按钮所在的第一个活动:
public void imagebutton (){
ImageButton btn = (ImageButton) findViewById(R.id.imageButton3);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(Akt1.this);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("name2", "Geschlecht");
editor.clear();
editor.apply();
startActivity(new Intent(Akt1.this, Akt2.class));
}
});
}
//buttonclick mit datapass gemixt
private void imagebutton1 () {
ImageButton btn = (ImageButton) findViewById(R.id.imageButton4);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences preferences = getSharedPreferences("myprefs", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("name","Geschlecht");
editor.commit();
Intent intent = new Intent (Akt1.this,Akt2.class);
startActivity(intent);
这里是最后一个活动的代码,我想访问从 buttonclick 传递给 sharedpreferences 的值:
public class Akt6 extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Hiermit Layout mit Activity verbinden
setContentView(R.layout.activity_akt6);
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
String name = preferences.getString("Name",null);
name ="Männlich";
SharedPreferences preferences2 = PreferenceManager.getDefaultSharedPreferences(this);
String name2 = preferences.getString("Name", "default");
name2 ="Weiblich";
//zeige Wert on screen
TextView textView19 = (TextView) findViewById(R.id.textView19);
textView19.setText(name);
【问题讨论】:
-
您知道,Java 和 JavaScript 是非常不同的语言。我已更新您的标签以使用正确的语言。
-
值将始终为
name ="Männlich";和name和Name不同 -
请阅读Under what circumstances may I add “urgent” or other similar phrases to my question, in order to obtain faster answers? - 总结是这不是解决志愿者的理想方式,并且可能会适得其反。请不要将此添加到您的问题中。
标签: java android button sharedpreferences