2015-01-16 5 views
0

나는 클릭하면 사용자가 선택할 수있는 목록으로 경고 대화 상자를 초기화하는 popupwindow 안에 버튼이 있습니다. 선택한 항목의 문자열 값을 목록에서 가져 오려고했습니다. 항목을 가져온 다음 사용자 선택을 반영하도록 버튼의 설명 텍스트를 변경하려고합니다.경고 대화 상자에서 사용자 선택 얻기

countryButton.setOnClickListener(new OnClickListener(){ 
    public void onClick(View v) { 

     final ArrayAdapter<CharSequence> countryAdapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.countries_array, android.R.layout.simple_spinner_item); 

     new AlertDialog.Builder(MakeQuestion.this) 
     .setTitle("Country") 
     .setAdapter(countryAdapter, new DialogInterface.OnClickListener() { 

      @Override 
      public void onClick(DialogInterface dialog, int which) { 
      //String countryResult = countryList.get(which); 
      //countryButton.setText(countryResult); 
      dialog.dismiss(); 
      } 
      }).create().show(); 
    } 

}); 
+0

@ Tanis.7x 나는 countrylist에서 다음 toString 그것을 얻으려고 노력했다. 그러나 그것은 나에게 실종 참조 오류를 주었다. – Frisbetarian

답변

1

ArrayAdapter.getItem() 메소드를 사용해야합니다. 복사되지 않은 실수 만 아니라면 @Override 주석을 잊지 마십시오. 하지만 "누락 된 참조 오류"는 무엇을 의미합니까?

countryButton.setOnClickListener(new OnClickListener(){ 

@Override 
public void onClick(View v) { 

    final ArrayAdapter<CharSequence> countryAdapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.countries_array, android.R.layout.simple_spinner_item); 

    new AlertDialog.Builder(MakeQuestion.this) 
    .setTitle("Country") 
    .setAdapter(countryAdapter, new DialogInterface.OnClickListener() { 

     @Override 
     public void onClick(DialogInterface dialog, int which) { 
     String countryResult = countryAdapter.getItem(which);//use this getItem() method 
     countryButton.setText(countryResult); 
     dialog.dismiss(); 
     } 
     }).create().show(); 
} 

}); 
+0

ArrayAdapter 유형을 CharSequence에서 String으로 변경하는 것과 관련된 편집 작업. – Frisbetarian

+0

하, :), CharSequence를 등록하지 않았습니다 .... – Opiatefuchs

관련 문제