2011-12-05 6 views
1

私のPreferenceActivityでListPreferenceを作成したいと思います。ラジオボタンのないListPreferences?

ListPreferenceをクリックすると、リストビューのダイアログボックスが表示されます。リストビューの各行には、テキストフィールドとラジオボタンがあります。

私はこのラジオボタンを望んでいないし、リスト項目をクリックしてもブラウザーを開くインテントを放りたいのですか?それについてどう思う?

もし私がDialogPreferenceを拡張すれば、onclicksの扱い方は? onListClickListenerのように動作しますか?私はListPreferenceを拡張する場合

OR

私はオーバーライドするために必要な機能は何ですか?

+0

私はまだコードがありません。私はどこから始めるべきかわかりません:( – Enigma

+0

あなたはあなたがラジオボタンを望んでいないと言いますが、何を正確にしたいですか? – THelper

答えて

4

これは、プリファレンスを使用しているときは、ボタンのように機能します。それはラジオボタンのないリストダイアログを表示します。しかし、私はShared preferencesにデータを格納するようには実装されていません。あなたがそれをしたいのであれば、独自に実装する必要があります。

prefereces=findPreference("intent"); 
     // prefereces.setIntent(new Intent(Intent.ACTION_VIEW,Uri.parse("https://market.android.com/"))); 
    // prefereces.setIntent(new Intent(getApplicationContext(), DynamicPreference.class)); 

     prefereces.setOnPreferenceClickListener(new OnPreferenceClickListener() { 

     @Override 
     public boolean onPreferenceClick(Preference preference) { 
      // TODO Auto-generated method stub 

      createListPreferenceDialog(); 
      return true; 
     } 


    }); 


    } 
    private void createListPreferenceDialog() 
    { 

     Dialog dialog; 
     final CharSequence str[]={"Android","Black Berry","Symbian"}; 
     AlertDialog.Builder b=new AlertDialog.Builder(PreferenceActivities1Activity.this); 
     b.setTitle("Mobile OS"); 

     b.setItems(str, new DialogInterface.OnClickListener() { 

      @Override 
      public void onClick(DialogInterface dialog, int position) 
      { 

       showToast("I am Clicked "+str[position]); 
//    switch (position) 
//    { 
//    case 0: 
//     showToast("I am Clicked "+str[position]); 
//     break; 
// 
//    default: 
//     break; 
//    } 

      } 
     }); 

     dialog=b.create(); 
     dialog.show(); 

    } 
    public void showToast(String msg) 
    { 
     Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show(); 
    } 
関連する問題