代码之家  ›  专栏  ›  技术社区  ›  Alan Firblazer

在AlertDialog中填充微调器

  •  1
  • Alan Firblazer  · 技术社区  · 7 年前

    我试图使用以下代码在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);
    

    但建筑商。findViewById正在为checkInProviders返回null。

    在我的XML中:

    <Spinner
            android:id="@+id/providers"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    

    请帮忙。谢谢

    2 回复  |  直到 7 年前
        1
  •  1
  •   Goku Farhana Naaz Ansari    7 年前

    试试这个

    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();
    
        2
  •  1
  •   Benjith binja    7 年前

    我认为你没有夸大观点

    视图对话框View=充气机。充气(R.layout.layout\u checkin\u 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。创建();

    b.show();