2011-08-08 156 views
1

我想添加一個警告對話,點擊按鈕,但一些它如何不工作..但我添加的祝酒工作完美。請有人幫我解決。我在創建對象時直接添加了上下文而不是「this」[new AlertDialog.Builder(context).create();正如當我加入這個,這是給我的錯誤「的構造AlertDialog.Builder(新View.OnClickListener(){})是未定義」Android:alertDialog不工作

 public View getChildView(int groupPosition, int childPosition, boolean isLastChild, 
      View convertView, ViewGroup parent) { 
     Service service = (Service) getChild(groupPosition, childPosition); 
     if (convertView == null) { 
      LayoutInflater infalInflater = (LayoutInflater) context 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      convertView = infalInflater.inflate(R.layout.child_layout, null); 
     } 
     TextView tv = (TextView) convertView.findViewById(R.id.tvChild); 
     Drawable d = convertView.findViewById(R.id.submit).getBackground(); 
     PorterDuffColorFilter filter = new PorterDuffColorFilter(Color.RED, PorterDuff.Mode.SRC_ATOP); 
     d.setColorFilter(filter); 
     tv.setText(" " + service.getName()); 
     this.submitButton = (Button)convertView.findViewById(R.id.submit); 
     this.submitButton.setText("Activate"); 
     this.submitButton.setOnClickListener(new OnClickListener() { 
       public void onClick(View v) { 
       Toast.makeText(context, "Service Activation Request Send", Toast.LENGTH_LONG).show(); 
       AlertDialog alertDialog = new AlertDialog.Builder(context).create(); 
       alertDialog.setTitle("Alert 1"); 
       alertDialog.setMessage("This is an alert"); 
       alertDialog.setButton("OK", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int which) { 
        return; 
       } }); 
       } 
       }); 

     //this.submitButton.setPadding(20, 0, 0, 0); 

     // Depending upon the child type, set the imageTextView01 
     tv.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0); 
     if (service instanceof DataService) { 
      tv.setCompoundDrawablesWithIntrinsicBounds(R.drawable.data, 0, 0, 0); 
     } else if (service instanceof VoiceService) { 
      tv.setCompoundDrawablesWithIntrinsicBounds(R.drawable.voice, 0, 0, 0); 
     } else if (service instanceof SmsService) { 
      tv.setCompoundDrawablesWithIntrinsicBounds(R.drawable.sms, 0, 0, 0); 
     } 
     return convertView; 
     } 

回答

3

調用show()方法上alertDialog

+0

哇調用的ShowDialog(INT)顯示您的按鈕onClickListener對話框。它幫助我..對不起,我在S illy問題 – Codemator

0

要調用()設置的任何字段,你也不會調用展()之前創建

Android的文檔指出它能夠更好地在我們的活動的onCreateDialog(int)的定義對話框創建回調方法

http://developer.android.com/guide/topics/ui/dialogs.html

你能做到這一點,然後通過與相關標識