2013-03-12 110 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;