[解決済み] android-support-v4でPreferenceFragmentの代替となるもの
2023-03-31 03:32:13
質問
PreferenceFragmentsがこのライブラリでサポートされていないことに気づき、アプリの開発が急停止してしまいました。新人のアンドロイド開発者がこの障害を克服するために使用できる代替手段はありますか。
これは、現在のところ私のメイン ウィンドウです。
<?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>
TabActivityは、ネットで見つけたものを使っています。以下はそのスニペットです。
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*...
android-support-v4 互換ライブラリを使って、preferencefragment (または preferenceActivity) のようなものを実装することはできますか?
どのように解決するのですか?
更新 - 2015年6月11日
Support-v7 ライブラリに
PreferenceFragmentCompat
. だから、それを使うのがより良いアイデアでしょう。
以下のプロジェクトをライブラリプロジェクトとしてアプリケーションに追加してください。
https://github.com/kolavar/android-support-v4-preferencefragment
フラグメントトランザクションを含め、すべてそのままで大丈夫です。インポートする際に
PreferenceFragment
クラスをインポートするとき、正しいインポートヘッダがユーザであることを確認してください。
import android.support.v4.preference.PreferenceFragment;
の代わりに
import android.preference.PreferenceFragment;
関連
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み] AndroidのListViewで画像を遅延ロードする方法
-
[解決済み] EclipseのAndroidプラグインで "Debug certificate expired "エラーが発生する。
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み] Androidでマイナスマージンを使用するのは悪いことですか?
-
[解決済み] バイト配列の画像ファイルをビットマップに変換するには?
-
[解決済み] google-services.jsonって実際何してるの?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PreferenceFragmentは意図的に互換性パッケージから除外されたのでしょうか?
-
[解決済み] SDカードからファイルを削除する方法を教えてください。
-
[解決済み] アンドロイドアプリのユーザーデータを消去する
-
[解決済み] これはどういうことですか?失敗 [INSTALL_FAILED_CONTAINER_ERROR]?
-
[解決済み] DialogFragmentを正しく終了させるには?
-
[解決済み] Androidのadb logcatでTAG名で特定のメッセージを除外する方法は?
-
[解決済み] アンドロイドのクライアントでヒープアップデートを有効にする方法
-
[解決済み] 複数のフィルタを持つBroadcastReceiverか、複数のBroadcastReceiverか?
-
[解決済み] proguard hell - 参照されているクラスが見つかりません。
-
[解決済み] PreferenceFragmentCompatはpreferenceThemeが設定されている必要があります。