2017-12-14 21 views
0

에 스피너를 채우기 :내가 다음 코드를 사용하여에 AlertDialog에 스피너를 채우기 위해 노력하고 있어요에 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

당신은 팝업 단지 스피너 권리가 필요 ?? –

+0

보기를 부풀려보십시오. AlertDialog.Builder checkInDialog1 = new AlertDialog.Builder (this); 보기 dialogView = View.inflate (this, R.layout.layout_checkin_items, null); checkInDialog1.setView (dialogView); Spinner checkInProviders = dialogView.findViewById (R.id.providers); –

답변

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(); 
+1

감사. 나는 첫 번째 해결책을 시도해 보았다. –

+0

@ AlanFirblazer 형제를 도와 드리겠습니다. – Prem

0

당신이보기를 팽창하지 않는 시도하십시오

보기 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 dialogBuilder.create B =();

b.show();