2012-03-21 97 views
1

我想在选项卡活动中调用微调器。我已经这样做了,但它会产生这样的错误。如何在选项卡活动中调用微调器?

Error is 03-20 17:08:08.397: E/AndroidRuntime(347): android.view.WindowManager$BadTokenException: Unable to add window -- token [email protected] is not valid; is your activity running? 

我的代码

 Cursor cursor = null; 
    try{ 
    senderId=(Spinner)findViewById(R.id.spinner1); 
    String[] emailAddress={}; 
    Uri uri=Uri.parse("content://com.android.email.provider/account"); 
    String[] projection={"emailAddress"}; 
    ArrayList<String> emailList=new ArrayList<String>(); 
    cursor=getContentResolver().query(uri, projection, null, null, null); 
    cursor.moveToFirst(); 
    while(!cursor.isAfterLast()) 
    { 
     emailList.add(cursor.getString(cursor.getColumnIndex("emailAddress"))); 
     cursor.moveToNext(); 
    } 
    emailAddress = (String[]) emailList.toArray(new String[0]); 
    @SuppressWarnings({ "unchecked", "rawtypes" }) 
    ArrayAdapter<CharSequence> adapterCountry=new ArrayAdapter(getParent(),android.R.layout.simple_spinner_item,emailAddress); 
    adapterCountry.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    senderId.setAdapter(adapterCountry); 
    //senderId.setAdapter(new ArrayAdapter<String>(mContext,android.R.layout.simple_spinner_item, emailAddress)); 
    }catch (Exception e) { 
     // TODO: handle exception 
    } 
    finally{ 
     cursor.close(); 
    } 
+0

可以粘贴整个代码? – Manju 2012-03-21 06:52:29

回答

4

您使用的是不利的前后这里,所以请尝试使用LayoutInflatersetContentView(view_inflated);像下面夸大你的布局,

View view = LayoutInflater.from(getParent()).inflate(R.layout.your_xml, null); 
setContentView(view); 
your_spinner = (Spinner)view.findViewById(R.id.your_spinner_id); 
+0

工作很好..谢谢..你的回答应该被接受。 – Khawar 2012-08-18 10:26:44

相关问题