0

アイテムが選択されるとアプリの設定ページに移動する設定ページを作成しようとしています。アイテムをクリックしても機能しません。誰かがこれを機能させる方法を見つけるのを手伝ってくれませんか? コードは次のとおりです。

設定 Java ファイル:

public class UserSettingActivity extends PreferenceActivity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        getFragmentManager().beginTransaction().replace(android.R.id.content, new MyPreferenceFragment()).commit();
    }

    public static class MyPreferenceFragment extends PreferenceFragment
    {
        @Override
        public void onCreate(final Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            addPreferencesFromResource(R.xml.preferences);
        }
    }

}

Main Activity Java ファイル固有のコード:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    // Goes back to the home screen
    case R.id.item1:  Intent i = new Intent(this, UserSettingActivity.class);
    startActivity(i);

プリファレンス XML ファイル:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >


<EditTextPreference
    android:title="EditText"
    android:key="name"
    android:summary="Enter your name" />

<CheckBoxPreference 
    android:title="Vibrate"
    android:defaultValue="true"
    android:key="vibrateCheckbox"
    android:summary="Turn vibrate on or off"/>

</PreferenceScreen>
4

1 に答える 1

0

インテントに間違ったコンテキストを渡しているためだと思います:

これの代わりに:

case R.id.item1:  Intent i = new Intent(this, UserSettingActivity.class);

これを書きます:

case R.id.item1:  Intent i = new Intent(yourActivityName.this, UserSettingActivity.class);
于 2013-03-30T15:44:32.310 に答える