Android 膨胀布局项
如果这个问题是重复的,我很抱歉。 我有一个问题: 我有一个main_layout.xml的main_活动。 我有一个Android 膨胀布局项,android,layout-inflater,customdialog,Android,Layout Inflater,Customdialog,如果这个问题是重复的,我很抱歉。 我有一个问题: 我有一个main_layout.xml的main_活动。 我有一个TextView和SeekBar1。 我添加了一个带有自定义对话框布局的菜单,其中有一个seekbar2。 对话框显示带有搜索栏的自定义对话框 执行此操作时: inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); view = inflater.inflate(R.
TextView
和SeekBar1
。
我添加了一个带有自定义对话框布局的菜单,其中有一个seekbar2。
对话框
显示带有搜索栏的自定义对话框
执行此操作时:
inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.resize_dialog,null);
seekbar = (SeekBar)findViewById(R.id.seekBar2);
应用程序强制关闭。替换为以下代码
inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.resize_dialog,null);
seekbar = (SeekBar)view.findViewById(R.id.seekBar2);
您需要传递视图的引用才能找到id。试试这个
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);
使用此选项取消对话框。
i、 e dialog.discouse()
使用下面的代码
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;
它是第一次工作。如果我在不关闭应用程序的情况下再次尝试打开对话框,我会遇到另一个问题:“java.lang.IllegalStateException:指定的子项已具有父项。您必须首先对子项的父项调用removeView()
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;