2016-03-23 11 views
0

リストボックス内にチェックボックスがあるナビゲーションドロワーを作成しようとしています。それぞれのリスト項目として。これは私がこれまでに試みたものですが、大きな困難を抱えています。ナビゲーションドロワーのcheckBoxesのリスト

私が探しているものは、プレフェンスメニューを作成するものです。 すなわち「ブルートゥースオン/オフ(チェックボックス)」など

相続人は私の主な活動:

public class MainActivity extends ActionBarActivity { 

//Navigation Drawer Member Variables 
private ListView mDrawerList; 
private DrawerLayout mDrawerLayout; 
private ArrayAdapter<String> mAdapter; 
private ActionBarDrawerToggle mDrawerToggle; 
private String mActivityTitle; 

//Navigation Drawer 

    mDrawerList = (ListView)findViewById(R.id.navList); 
    mDrawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout); 

    mActivityTitle = getTitle().toString(); 

    addDrawerItems(); 
    setupDrawer(); 

private void addDrawerItems() { 
    String[] osArray = { "Bluetooth", "Reply to Calls", "Reply to sms", "customise message"}; 
    mAdapter = new ArrayAdapter<String>(this, R.layout.list_item, osArray); 
    mDrawerList.setAdapter(mAdapter); 

    mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

      CheckedTextView ctv = (CheckedTextView)view; 
      if (ctv.isChecked()){ 
       Toast.makeText(getApplicationContext(),"uncheckd",Toast.LENGTH_LONG).show(); 
      } 
      else { 
       Toast.makeText(getApplicationContext(),"checked",Toast.LENGTH_LONG).show(); 
      } 

     } 
    }); 
} 



    mDrawerToggle.setDrawerIndicatorEnabled(true); 
    mDrawerLayout.setDrawerListener(mDrawerToggle); 
} 

Imはアダプタがテキストビューを必要としていることを言ってエラーを取得。 ご協力いただければ幸いです。チェックボックスでリストビューを作成するには

mAdapter = new ArrayAdapter<String>(this, R.layout.my_textview, osArray); 

にChoiceModeを設定します。おかげで

+0

こんにちは、完全なコードを共有していただけますか? – AsfK

答えて

2

は、あなたが取得しているエラーは、あなたの代わりにR.layout.list_itemののTextViewを渡す必要がbeacuse、以下の例を確認しています"CHOICE_MODE_MULTIPLE"

String[] osArray = {"Bluetooth", "Reply to Calls", "Reply to sms", "customise message"}; 
    ListView listView = (ListView) findViewById(R.id.listView); 
    ArrayAdapter arrayAdapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_multiple_choice, osArray); 

    listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); 
    listView.setAdapter(arrayAdapter); 

結果: enter image description here

+0

ありがとうございます!私はあなたがあなたが言葉のBluetoothまたはBluetoothの行のどこにでもそれが開くアラートをタップするとき、それを持っていることができますどのように私はそれを得ることができますチェックボックスの状態を変更することはできませんが、他の行、つまり「コール」と「SMS」の下にあるチェックボックスをクリックすると、チェックボックスの状態を変更することができます。 –

+1

こんにちはリストビューにチェックボックスを追加する方法を教えてください。 –

+0

こんにちは、このlistView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);をあなたのリストビューに追加してください。すべて –

関連する問題