Ich suche wieder Stunden und habe keine Antwort gefunden, die ich verstanden habe/gesucht habe.schließen PreferenceFragment
Ich habe einen Einstellungsbildschirm, der geöffnet wird, wenn der Benutzer auf Einstellungen im Menü klickt. Das funktioniert. Aber wie kann ich den Benutzer am besten dazu bringen, diesen Bildschirm zu schließen, wenn er fertig ist?
Ich mag die Art, wie es in Chrome gemacht wird, wo Sie zum vorherigen Bildschirm zurückkehren können.
Andere Möglichkeiten werden ebenfalls geschätzt.
Aktivität, die die Präferenz fällt (auf die zurückgegeben werden soll):
public class MainActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void startGame(View view)
{
Intent intent = new Intent(this, Game.class);
startActivity(intent);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.layout.game_settings, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.action_settings:
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new SettingsFragment())
.commit();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
Vorlieben:
public class SettingsFragment extends PreferenceFragment
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.layout.preferences);
}
}
XML:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory android:title="@string/game_settings">
<ListPreference
android:title="@string/circle_setting_title"
android:key="circle_setting"
android:summary="@string/circle_setting_summary"
android:entries="@array/circle_setting_amount"
android:entryValues="@array/circle_setting_amount_value"
android:defaultValue="3"/>
<ListPreference
android:title="@string/color_setting_title"
android:key="color_setting"
android:summary="@string/color_setting_summary"
android:entries="@array/color_setting_amount"
android:entryValues="@array/color_setting_amount_value"
android:defaultValue="3"/>
</PreferenceCategory>
</PreferenceScreen>
Wie wäre es mit dem Zurück-Knopf? Es sollte so funktionieren. –
Dann schließt er die ganze App. –
Nein. Das ist, wenn Sie es zweimal drücken. ODER wenn Sie Code in Ihr onBackPressed setzen, um Ihre APP zu beenden. Verwechseln Sie nicht Zurück mit Home ... –