2011-08-03 28 views
1

私はListViewから始まるクラスを持っています。この新しいクラスにいくつかの追加機能(ドラッグ&ドロップ)を追加しました。私の質問は、この拡張されたListViewクラスを環境設定アクティビティで使用できる方法です。私は自分自身のリストビューを提示します。

レガシープリファレンスアクティビティのドラッグアンドドロップ機能を提供する必要があります。

答えて

2

プリファレンスアクティビティでクリックしたアイテムから任意のアクティビティを開くことができるかどうか尋ねていますか?もしそうなら、あなたは2つのことをする必要があります。あなたの設定のアクティビティののonCreateでその後

<PreferenceScreen 
    android:key="CUSTOM_ACTIVITY_KEY" 
    android:title="Title" 
    android:summary="Summary" /> 

:まず、あなたの好みにXMLファイルPreferenceScreen項目を追加しPreferenceScreen項目のオフカスタムアクティビティを実行している場合は

Preference pref = getPreferenceScreen().findPreference("CUSTOM_ACTIVITY_KEY"); 
final Intent intent = new Intent(this, CustomActivity.class); 
if (pref != null) 
{ 
    pref.setOnPreferenceClickListener(new OnPreferenceClickListener() 
    { 
     public boolean onPreferenceClick(final Preference preference) 
     { 
      startActivity(intent); 

      return false; 
     } 
    }); 
} 
+0

これが@jkvが求めているのかどうかわからないけど、確かに助けてくれました.D – Maggie

+0

ありがとうございました。しかし、私の要求は何か異なっています。私の理解によれば、アンドロイドフレームワークは、嗜好アクティビティに供給される嗜好アイテムを表示するためのリストビューを作成する(嗜好アクティビティはリストアクティビティを拡張する)。私の質問は、好みのアクティビティで使用されるListviewクラスを置き換えるために独自のlistviewサブクラスを提供することが可能です。 – jkv

+0

申し訳ありませんが、独自のリスト実装を挿入することはできません。私の他の答えは「最後の手段」を参照してください。 – Josh

0

することは、十分なだけではありません私が考えることができる他の選択肢は、あなたの好みの実装をロールすることです。私が間違っていると誰かが私を修正しなければなりませんが、私はPreferences sourceを引っ張ってそれに応じて修正することが可能かもしれないと思います。

+0

ジョシュ、応答のためにありがとう.. – jkv

+0

ジョシュ、応答に感謝します。アイデアはありますが、それがうまくいくかどうかはわかりません。拡張されたリストビューを持つ新しいレイアウトファイルを作成し、私のprefrenceアクティビティsetContentView(mynewlayout)のonCreateにレイアウトファイルを作成します。 PrefrenceActivityのonCreateをチェックすると、listviewを含むレイアウトが設定されます。 – jkv

+0

ListViewを拡張し、カスタムレイアウトに '@android:id/list'という名前の' 'を置くと、これを取り除くことができます。 – Josh

0

私はgetRootAdapter()を経由して、このPreferenceScreenに含ま好みにListViewをバインド

android.preference.PreferenceScreen.bind(ListView listView) 

に別のAPIに出くわしました。 レイアウトファイルを膨張させた後、私たちのカスタムlistviewをアクティビティのpreferenceScreenに添付することができます。

関連する問題