我正在尝试使用以下代码填充AlertDialog中的微调器:
ArrayAdapter<String> dataAdapter = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_item, providersList);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
AlertDialog.Builder checkInDialog1 = new AlertDialog.Builder(this);
checkInDialog1.setView(R.layout.layout_checkin_items);
checkInDialog1.show();
AlertDialog builder = checkInDialog1.create();
Spinner checkInProviders = (Spinner) builder.findViewById(R.id.providers);
checkInProviders.setAdapter(dataAdapter);
但是builder.findViewById为checkInProviders返回null。
在我的XML中:
<Spinner
android:id="@+id/providers"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
请帮忙。感谢。
答案 0 :(得分:1)
我认为你不是在夸大观点
查看dialogView = inflater.inflate(R.layout.layout_checkin_items,null);
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
LayoutInflater inflater = this.getLayoutInflater();
final View dialogView = inflater.inflate(R.layout.layout_checkin_items, null);
dialogBuilder.setView(dialogView);
Spinner checkInProviders = (Spinner) dialogView .findViewById(R.id.providers);
在底部只添加
AlertDialog b = dialogBuilder.create();
b.show();
答案 1 :(得分:0)
试试这个
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
LayoutInflater inflater = this.getLayoutInflater();
final View myView = inflater.inflate(R.layout.layout_checkin_items, null);
dialogBuilder.setView(myView);
Spinner checkInProviders = (Spinner) myView .findViewById(R.id.providers);
ArrayAdapter<String> dataAdapter = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_item, providersList);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
checkInProviders.setAdapter(dataAdapter);
试试这个
Dialog dialog=new Dialog(this);
dialog.setTitle("Title");
dialog.setContentView(R.layout.layout_checkin_items);
Spinner checkInProviders = (Spinner) dialog.findViewById(R.id.providers);
ArrayAdapter<String> dataAdapter = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_item, providersList);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
checkInProviders.setAdapter(dataAdapter);
dialog.show();