2014-03-04 2 views
1

내 응용 프로그램에서 에 대해 Templates을 제공하고 있습니다 (spinner list items). 사용자가 message을 입력하는 대신 보낼 수 있습니다. 그러나 사용자가 application crashes을 선택하기 위해 메뉴 항목을 열 때 문제가 발생합니다. Spinner 메뉴 항목을 통해 액세스 할 수있는 alert dialog box을 넣었습니다. 대화 상자스피너 항목을 선택할 때 응용 프로그램이 충돌합니까?

코드 *

AlertDialog.Builder rdialog = new AlertDialog.Builder(MainActivity.this); 
      rdialog.setTitle("Select Message"); 
      rdialog.setIcon(android.R.drawable.ic_input_get); 
      LayoutInflater inflater = LayoutInflater.from(getApplicationContext()); 
      alertView = inflater.inflate(R.layout.rptsetting,null); 

      final Spinner fSpinner = (Spinner)alertView.findViewById(R.id.fSpinner); 
      String providers[] ={"Busy", "Good Morning", "In office"}; 
      ArrayAdapter<String> adp = new ArrayAdapter<String> (MainActivity.this,android.R.layout.simple_spinner_dropdown_item,providers); 
      fSpinner.setAdapter(adp); 
      fSpinner.setOnItemSelectedListener(new OnItemSelectedListener() { 

       @Override 
       public void onItemSelected(AdapterView<?> aparent, View arg1, 
         int pos, long arg3) { 

        String selectedItem = fSpinner.getSelectedItem().toString(); 
        if(selectedItem.equals("Busy")){ 
         body = "Currently Busy call again later, Thanks"; 
        } 

        if(selectedItem.equals("Good Morning")){ 
         body = "A very Good Morning, Have a nice day"; 
        } 

        if(selectedItem.equals("In office")){ 
         body = "Currently in office"; 
        } 

       } 

       @Override 
       public void onNothingSelected(AdapterView<?> aparent) { 
       } 
      }); 
rdialog.setView(alertView); 
      rdialog.setNeutralButton("SUBMIT", new DialogInterface.OnClickListener() { 

       @Override 
       public void onClick(DialogInterface dialog, int which) { 

        dialog.dismiss(); 
        } 
       }); 

      AlertDialog rdialog1 = rdialog.create(); 
      rdialog1.show(); 

나는 그것이 전송되는 메시지의 본문으로 사용하는 Sms Manager에 의해 액세스 할 수 있도록 글로벌 문자열로 body을 정의했습니다. 로그 고양이 Log cat

미리 감사드립니다.

+1

은 심플 플랜 @ 당신의 로그 캣 –

+0

로그 고양이 –

+0

내 편집을 확인 게시 @A 몸이란 무엇인가? String인가? 그것을 초기화했다. –

답변

2

먼저 수정이 하나

+0

'body '를'String body;'로 선언했습니다. –

+0

@Androidbeginner 먼저 시도하고 피드백을 전합니다. –

+0

제가 연결하려고해도 이미 시도했습니다. 주어진 템플릿 코드를 가진 텍스트처럼 주어진 문자열을 가진 edittext 값 -''현재 사무실에 있습니다. "+ edittext.getText(). toString()'그것은 에러를 보여줍니다. –

1

Spinner에서 선택한 항목을 얻으려면 getItemAtPosition 방법을 AdapterView으로 시도해보십시오. 로 : null가 아닌 당신의 body 변수를 확인도

String selectedItem = aparent.getItemAtPosition(pos).toString(); 

    if(selectedItem.equals("Busy")){ 
    body = "Currently Busy call again later, Thanks"; 
    } 
    if(selectedItem.equals("Good Morning")){ 
    body = "A very Good Morning, Have a nice day"; 
    } 
    if(selectedItem.equals("In office")){ 
    body = "Currently in office"; 
    } 

그리고 크로스 onItemSelected(.....)에서 같은

@Override 
    public void onItemSelected(AdapterView<?> aparent, View arg1, 
         int pos, long arg3) { 
String selectedItem = aparent.getItemAtPosition(pos).toString(); 
//...your code... 
} 
관련 문제