String strAdd, strRet;
Spinner spinner;
AlertDialog.Builder addBuilder = new AlertDialog.Builder(this);
final EditText input = new EditText(this);
addBuilder.setView(input);
addBuilder.setTitle("추가.")
.setPositiveButton("추가", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int whichButton){
strAdd = input.getText().toString();
Log.d(LibTag, "addBuilder >> strAdd: " + strAdd);
}
});
final AlertDialog addDialog = addBuilder.create();
ArrayList<String> items = new ArrayList<String>(Arrays.asList("Select... ", "test1", "test2", "add..."));
final ArrayAdapter<String> adapterSpinner = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, items);
adapterSpinner.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapterSpinner);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
strRet = spinner.getSelectedItem().toString();
if ( strRet.compareToIgnoreCase("add...") == 0 )
{
addDialog.show();
adapterSpinner.add(strAdd);
adapterSpinner.notifyDataSetChanged();
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
이게 add항목을 클릭하면 알림 창이 뜨고 데이터를 입력 받으면 그때 add() 작업과 notifyDataSetChanged() 작업을 수행해야 되는데 알림창에서 데이터를 입력받기도 전에 null값이 항목에 추가되어 버립니다.
어떤식으로 수정하는게 좋을까요?
또는..이거보다 좋은 방법이 있다면 알려주세요..감사합니다.