2013-03-12 138 views
0

如果此問題重複,我很抱歉。 我有一個問題:充氣佈局項目

我有一main_activity與main_layout.xml。 我有一個TextViewSeekBar1在裏面。 我添加了一個菜單,其中有一個custom_dialog_layout,它有一個seekbar2。 Dialog顯示custom_dialog與搜索欄。

時,這樣做:

inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
view = inflater.inflate(R.layout.resize_dialog,null); 
seekbar = (SeekBar)findViewById(R.id.seekBar2); 

申請強制關閉。

回答

0

試試這個。

inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
view = inflater.inflate(R.layout.resize_dialog,null); 
seekbar = (SeekBar)view. findViewById(R.id.seekBar2); 

/**添加該充氣以AlertDialog */

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setTitle(R.string.app_name); 
    builder.setView(view); 

使用這種用於取消對話框。 即dialog.dismiss();

.setPositiveButton(
       getResources().getString(R.string.Cancel), 
       new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, 
          int whichButton) { 
         dialog.dismiss(); 
        } 
       }); 
     alert = builder.create(); 
     alert.show(); 
+0

它適用於第一time..if我儘量不關閉應用程序再次打開的對話框中,我得到了另一個問題:「java.lang.IllegalStateException:指定的子項已經有父項,必須先調用子項的父項的removeView()。」 – prashantwosti 2013-03-12 06:13:52

0

用以下代碼替換。

inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
view = inflater.inflate(R.layout.resize_dialog,null); 
seekbar = (SeekBar)view.findViewById(R.id.seekBar2); 

您需要通過view的引用才能找到id。

+0

damn..that是「VIEW」 ..它的工作,感謝大家即時幫助.. – prashantwosti 2013-03-12 06:10:00

0

使用下面的代碼。

private class ViewHolder {   
    SeekBar seekbar ; 

} 


    public View getView(final int position, View convertView, ViewGroup parent) { 
     LayoutInflater mInflater = (LayoutInflater) context 
      .getSystemService(Activity.LAYOUT_INFLATER_SERVICE); 

    if(convertView==null) 
    { 
     convertView=mInflater.inflate(R.layout.resize_dialog, null); 
     holder=new ViewHolder(); 
     holder.seekbar = (SeekBar)convertView.findViewById(R.id.seekBar2); 
     convertView.setTag(holder); 
      } 
     else 
    holder=(ViewHolder) convertView.getTag(); 


     return convertView;