2013-04-07 23 views
0

**仿真程序未显示多选项(“Google”,“Apple”,“Ms”,“Samsumg”,“Nokia”).... 未执行setmultiitemsselected函数 谁能帮我找出解决方案? **setmultichoiceitem未在对话框中执行

 
    ***My Program*** 

    public class DialogActivity extends Activity { 
    CharSequence[] items = {"Google","Apple","Ms","Samsumg","Nokia"}; 
     boolean[] itemcheck = new boolean[items.length]; 
     public void onClick(View v) { 
      showDialog(0); 
     } 

     @Override 
     protected Dialog onCreateDialog(int id) { 
     Dialog d = null; 
      switch (id) { 
      case 0: 
      AlertDialog.Builder ab = new AlertDialog.Builder(this); 
      ab.setIcon(R.drawable.fb); 
      ab.setTitle("Facebook Dialog"); 
      ab.setMessage("Successfully Logged"); 
      ab.setPositiveButton("OK",new DialogInterface.OnClickListener() { 

       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        Toast.makeText(getApplicationContext(), "OK Clicked", Toast.LENGTH_LONG).show();} 
      }); 
     ab.setMultiChoiceItems(items, itemcheck, 
        new DialogInterface.OnMultiChoiceClickListener() { 

      @Override 
      public void onClick(DialogInterface dialog, 
        int which, boolean isChecked) { 
       Toast.makeText(getBaseContext(), items[which] + (isChecked? "Checked" :"Unchecked"), Toast.LENGTH_SHORT).show(); 
       } 
     }); 
      d = ab.create(); 
      } 
      return d; 
     } } 

    ***Xml File*** 
      

回答

0

你是什么意思的“setmultiitemselected函数未执行”?

创建AlertDialog将是最简单的方法:

CharSequence[] items = {"Google","Apple","Ms","Samsumg","Nokia"}; 
boolean[] itemcheck = new boolean[items.length]; 

new AlertDialog.Builder(this) 
.setIcon(R.drawable.fb) 
.setTitle("Facebook Dialog") 
.setMessage("Successfully Logged") 
.setPositiveButton("OK",new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialog, int which) { 
     Toast.makeText(getApplicationContext(), "OK Clicked", Toast.LENGTH_LONG).show(); 
    } 
}) 
.setMultiChoiceItems(items, itemcheck, new DialogInterface.OnMultiChoiceClickListener() { 
    @Override 
    public void onClick(DialogInterface dialog, 
     int which, boolean isChecked) { 
     Toast.makeText(getBaseContext(), items[which] + (isChecked? "Checked" :"Unchecked"), Toast.LENGTH_SHORT).show(); 
    } 
}) 
.show(); 

虽然阵列itemcheck没有任何意义在当前的实现!

0

问题是setMultiChoiceItemssetMessage不能一起使用。如果您指定了一条消息,那么复选框将不会出现。