以下代码,在选择项点击后,后面的选择框不变化,请问为什么View view1 = LayoutInflater.from(LuzhiAdmin_Xiangmu_Big_Add.this).inflate(R.layout.tanchuang, null); AlertDialog.Builder builder = new AlertDialog.Builder(LuzhiAdmin_Xiangmu_Big_Add.this); builder.setView(view1); ArrayList<String> jg = new ArrayList<String>(); String[] finalXx = xx; ListView listView = view1.findViewById(android.R.id.list); ArrayAdapter<String> adapter = new ArrayAdapter<String>(LuzhiAdmin_Xiangmu_Big_Add.this, android.R.layout.simple_list_item_multiple_choice, finalXx) { @NonNull @Override public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { View view = super.getView(position, convertView, parent); CheckedTextView checkedTextView = view.findViewById(android.R.id.text1); checkedTextView.setChecked(listView.isItemChecked(position)); return view; } }; listView.setAdapter(adapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { // Handle item click event per_gangwei = ""; jg.add(finalXx[i]); } }); builder.setTitle ("需要做具体工作的岗位:\n自己除外;系统自动添加;") .setPositiveButton ("确定", new DialogInterface.OnClickListener () { @Override public void onClick(DialogInterface dialog, int which) { if(jg!=null) { for (String i : jg) { per_gangwei = per_gangwei + i + "#"; } //per_gangwei = per_gangwei+"工程师"+"#"; } } }); AlertDialog dialog = builder.create(); dialog.show();
时间: 2024-02-10 21:05:27 浏览: 26
这段代码中,你使用了一个自定义的布局文件(R.layout.tanchuang)来创建一个AlertDialog对象。这个布局文件中包含一个ListView,用来显示一个字符串数组(finalXx)中的所有选项。在ListView的适配器中,你使用了Android提供的simple_list_item_multiple_choice布局,来实现多选功能。同时,在getView方法中,你设置了每个选项的Checked状态,以便在用户选择选项后,能够正确地显示选中状态。在ListView的OnItemClickListener中,你将用户选择的选项添加到一个ArrayList(jg)中。最后,在AlertDialog的PositiveButton的onClick方法中,你将用户选择的选项拼接成一个字符串(per_gangwei),以便在其他地方使用。
至于你遇到的问题,我需要更多的信息来确定具体原因。你可以提供更多的代码或者错误信息来帮助我理解问题。
相关问题
t.setTLayoutInflater layoutInflater=LayoutInflater.from(context); View view=layoutInflater.inflate(R.layout.listview_item,null); TextView t=view.findViewById(R.id.list_item_textview);ext(list.get(position).getUserName());我想在里面放入两个数据应该怎么改
你可以将这段代码修改为:
LayoutInflater layoutInflater = LayoutInflater.from(context);
View view = layoutInflater.inflate(R.layout.listview_item, null);
TextView t = view.findViewById(R.id.list_item_textview);
String userName = list.get(position).getUserName();
String otherData = "your other data"; // 替换为你的其他数据
t.setText(userName + " " + otherData);
这样就可以在 TextView 中展示用户名和其他数据了。
View view = LayoutInflater.from(mContext).inflate(R.layout.fruit_item,parent,false); ViewHolder holder = new ViewHolder(view);
这是一个典型的 Android 中 RecyclerView 的 ViewHolder 的初始化代码,其中 mContext 是上下文对象,R.layout.fruit_item 是布局文件,parent 是 RecyclerView 的父容器,false 表示不需要将该视图添加到父容器中。这段代码的作用是将布局文件 R.layout.fruit_item 转换成一个 View 对象,并将其传递给 ViewHolder 的构造函数,最终返回一个 ViewHolder 对象。