SORU
20 Mart 2012, Salı


İle PreferenceFragment alternatifleri-support-v4 android

PreferenceFragments bu kütüphanede desteklenen olmadığını farkettim olarak benim app gelişiminde ani bir durma noktasına geldim. Acemi bir android geliştirici bu engeli aşmak için kullanabileceğiniz başka alternatif var mı ?

Bu şu anda benim ana penceredir

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<TabHost
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_weight="0"/>

        <FrameLayout
            android:id="@ android:id/realtabcontent"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"/>
    </LinearLayout>

                <TabWidget
            android:id="@android:id/tabs"
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0"
            />

</TabHost>
</LinearLayout>

Benim TabActivity için internette bulduğum bir şey kullanıyorum. Burada bir parçacık:

public class TabControlActivity extends FragmentActivity implements TabHost.OnTabChangeListener 
{
public static final int INSERT_ID = Menu.FIRST;
public static TabControlActivity thisCtx;
private TabHost mTabHost;
private HashMap mapTabInfo = new HashMap();
private TabInfo mLastTab = null;

private class TabInfo {
     private String tag;
     private Class clss;
     private Bundle args;
     private Fragment fragment;
     TabInfo(String tag, Class clazz, Bundle args) {
         this.tag = tag;
         this.clss = clazz;
         this.args = args;
     }

}

class TabFactory implements TabContentFactory 
{

    private final Context mContext;

    /**
     * @param context
     */
    public TabFactory(Context context) {
        mContext = context;
    }

    /** (non-Javadoc)
     * @see android.widget.TabHost.TabContentFactory#createTabContent(java.lang.String)
     */
    public View createTabContent(String tag) {
        View v = new View(mContext);
        v.setMinimumWidth(0);
        v.setMinimumHeight(0);
        return v;
    }

}

...*snip*...

Herhangi bir preferencefragment(veya preferenceActivity) android-support-v4 uyumluluk kitaplığı kullanarak benzer bir şey uygulamak için var mı ?

CEVAP
22 Aralık 2013, Pazar


Uygulamanız için bir kütüphane projesi olarak aşağıdaki proje ekleyin.

https://github.com/kolavar/android-support-v4-preferencefragment

Bu çözüm, tüm diğer çözümlerin çok daha iyi. Çalışma kütüphane projesi olarak bu projeye ekleyin. Ve PreferenceFragment aşağıdaki gibi yapın alırken parça işlem de dahil olmak üzere her şeyi alabilirsin.

import android.support.v4.preference.PreferenceFragment;

yerine

import android.preference.PreferenceFragment;

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CrazyMan

    CrazyMan

    14 Mayıs 2008
  • EvilControllers

    EvilControll

    20 Ocak 2008
  • Floortile83

    Floortile83

    16 Ocak 2010