P
Paarn
Neues Mitglied
- 0
Ich habe 2 Activities, die double Werte an die MainActivity übergeben sollen. Jedoch klappt es nur bei einer der beiden. Ich habe erst gedacht es liegt daran, dass die Main ein Fragment ist, da ich einen Navigation Drawer nutze. Aber dann dürfte es ja bei beiden nicht klappen.
Hier mal Beispielcode:
Activity1
Activity2
Main
Bei Activity 2 wird der richtige Wert übergeben, bei Activity1 wird nur der Default Wert ausgegeben.
Das ist jetzt etwas aus dem Kontext gerissen, aber ich hoffe ihr könnt was damit anfangen.
Hier mal Beispielcode:
Activity1
Code:
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
TextView name = (TextView) findViewById(R.id.text_activity);
name.setText(R.string.text_activity);
RadioButton 1= (RadioButton) findViewById(R.id.1);
not.setText(R.string.1);
RadioButton 2= (RadioButton) findViewById(R.id.2);
little.setText(R.string.2);
RadioButton 3= (RadioButton) findViewById(R.id.3);
active.setText(R.string.3);
RadioButton 4= (RadioButton) findViewById(R.id.4);
very.setText(R.string.4);
settings = getSharedPreferences(PREFS_NAME, 0);
editor = settings.edit();
radioSport = (RadioGroup) findViewById(R.id.radiogroupactivity);
radioSport.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(RadioGroup group, int checkedId)
{
// TODO Auto-generated method stub
switch (checkedId)
{
case R.id.1:
{
editor.putFloat("neuertest", (float) 1.4);
break;
}
case R.id.2:
{
editor.putFloat("neuertest", (float) 1.6);
break;
}
case R.id.3:
{
editor.putFloat("neuertest", (float) 1.8);
break;
}
case R.id.4:
{
editor.putFloat("neuertest", (float) 2.0);
break;
}
}
editor.putInt("speichereActivity1", checkedId);
}
});
Activity2
Code:
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
TextView name = (TextView) findViewById(R.id.text_activity);
name.setText(R.string.text_activity);
RadioButton 1= (RadioButton) findViewById(R.id.1);
not.setText(R.string.1);
RadioButton 2= (RadioButton) findViewById(R.id.2);
little.setText(R.string.2);
RadioButton 3= (RadioButton) findViewById(R.id.3);
active.setText(R.string.3);
RadioButton 4= (RadioButton) findViewById(R.id.4);
very.setText(R.string.4);
RadioButton 5= (RadioButton) findViewById(R.id.5);
extreme.setVisibility(View.VISIBLE);
extreme.setText(R.string.5);
settings = getSharedPreferences(PREFS_NAME, 0);
editor = settings.edit();
radioWork = (RadioGroup) findViewById(R.id.radiogroupactivity);
radioWork.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(RadioGroup group, int checkedId)
{
// TODO Auto-generated method stub
switch (checkedId)
{
case R.id.1:
{
editor.putFloat("test", (float) 1.4);
break;
}
case R.id.2:
{
editor.putFloat("test", (float) 1.6);
break;
}
case R.id.3:
{
editor.putFloat("test", (float) 1.8);
break;
}
case R.id.4:
{
editor.putFloat("test", (float) 2.0);
break;
}
case R.id.5:
{
editor.putFloat("test", (float) 2.2);
break;
}
}
editor.putInt("speichereActivity2", checkedId);
}
});
Main
Code:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
settings = getSharedPreferences(PREFS_NAME, 0);
double wert_activity1= settings.getFloat("test", 0);
double wert_activity2= settings.getFloat("neuertest", 0);
Bei Activity 2 wird der richtige Wert übergeben, bei Activity1 wird nur der Default Wert ausgegeben.
Das ist jetzt etwas aus dem Kontext gerissen, aber ich hoffe ihr könnt was damit anfangen.
Zuletzt bearbeitet: