4

ViewPager を使用して、さまざまなフラグメントをスワイプしています。それは機能していますが、次のようにアクティビティでできるように、各フラグメントの設定を追加したいと思います。

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.prefs);
}

しかしaddPreferencesFromResource(R.xml.prefs);、Fragment Eclipse を挿入addPreferencesFromResource(R.xml.prefs);すると、FragmentActivity を使用する場合と同じように、存在しないことがわかります。では、フラグメントで設定を使用するにはどうすればよいでしょうか? 私は Fragments を使ってデザインするのは初めてで、アクティビティでのやり方と比べてすべてがかなり異なります :/

ありがとうございました :)

==編集==

FC を取得していませんが、何もしません。クラス LCprefs() を呼び出すコードです。このコードはフラグメントにあります。

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if(DEBUG) Log.i(TAG, "onOptionsItemSelected(MenuItem item)");
        switch(item.getItemId())
        {
        case R.id.preferences:
            new LCprefs();
            break;
        case R.id.add:
            break;
        case R.id.load:
            break;
        case R.id.save:
            break;
        }
        return false;
    }

それは LCprefs クラスです:

import android.os.Bundle;
import android.preference.PreferenceFragment;
import android.util.Log;

    public class LCprefs extends PreferenceFragment{

        String TAG;

        @Override
        public void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            Log.i(TAG, "LCprefs onCreate()");
            addPreferencesFromResource(R.xml.prefslc);
        }

    }

xml フォルダーにある prefslc.xml です。

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

    <PreferenceCategory android:title="Varios" >

        <CheckBoxPreference
            android:defaultValue="false"
            android:key="cbFullscreen"
            android:summary="Aplicacion fullscreen"
            android:title="Fullscreen" />

    </PreferenceCategory>

</PreferenceScreen>
4

1 に答える 1

1

フラグメントは、 PreferencesFragmentのインスタンスである必要があります。リンクからの例:

public static class PrefsFragment extends PreferenceFragment {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Load the preferences from an XML resource
        addPreferencesFromResource(R.xml.preferences);
    }
}
于 2012-04-08T22:19:16.297 に答える