2014-03-04 69 views
1

在我的申请,我为Text Message Body提供各种Templates,作为spinner list items,可以选择和用户可以把他们而不是键入message,但问题是,当用户打开菜单项选择模板application crashesSpinner我已通过菜单项访问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(); 

我已经定义body作为全球String,它可以访问由Sms Manager使用它作为邮件的正文被发送。 Log Cat Log cat

在此先感谢!

+1

发表您的logcat –

+0

@ Simple Plan的检查我的编辑日志猫 –

+0

@什么是身体?是一个字符串?然后初始化它。 –

回答

2

首先纠正这一个像下onItemSelected(.....)

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"; 
    } 

而且还交叉检查body变量不为空

+0

我已经声明'body'为'String body;' –

+0

@Androidbeginner先试试这个,并给我反馈 –

+0

已经尝试过,即使我想连接编辑文本值与给定的字符串像一些文本与给定的模板代码 - “”目前在办公室“+ edittext.getText()。toString()'它显示错误。 –

1

要从Spinner中选择物品,请尝试使用getItemAtPosition方法AdapterView。如:

@Override 
    public void onItemSelected(AdapterView<?> aparent, View arg1, 
         int pos, long arg3) { 
String selectedItem = aparent.getItemAtPosition(pos).toString(); 
//...your code... 
} 
相关问题