Asynctask进度对话框中的BadTokenException

时间:2013-12-20 14:17:38

标签: android android-asynctask

我是Android新手,这可能是一个简单的问题,但我无法找到它的答案,我正在使用tabactivity而改变活动底部标签缺少所以我 使用下面的代码通过更改视图来保持选项卡,所以它工作正常

public void replaceContentView(String id, Intent newIntent) {
    try {
        @SuppressWarnings("deprecation")
        View view = getLocalActivityManager().startActivity(id,
                newIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
                .getDecorView();
        this.setContentView(view);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

其实我的问题是我想从第二个活动到第一个ActivityGroup选择一些东西,在第二个活动中我有一个名为done的按钮

这是我的第二个活动

public class Woosuite_Twiter_Feed_list extends Activity implements
    OnItemClickListener {

@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.woosuite_twitlist);

    Button done = (Button) findViewById(R.id.btn1);

done.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            Intent i = new Intent(v.getContext(), Woosuite_Feed.class);
            i.setClass(getParent(), Woosuite_Feed.class);
            Woosuite_Feed feed = (Woosuite_Feed) getParent();
            feed.replaceContentView("one", i);      
        }
    });

在第二个活动中点击完成按钮然后调用第一个activitygroup asyncTask类,因为我得到了

  

Android:“BadTokenException:无法添加窗口;你的活动在运行吗?   我不知道如何解决这个问题,请提供一些解决方案。

这是我的第一个ActivityGroup oncreate

     public class  Woosuite_Feed extends ActivityGroup implements OnClickListener
    {
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.woosuite_feed);
        LinkedFeeds feeds = new LinkedFeeds();
        feeds.execute("");
} 

这是我的第一个ActivityGroup AsyncTask

public class LinkedFeeds extends AsyncTask<String, Void, String> {
    public ProgressDialog dialog;
    @Override
    protected void onPreExecute() {
        // TODO Auto-generated method stub
        if(!isFinishing()){
        dialog = new ProgressDialog(Woosuite_Feed.this);
        dialog.setMessage("Loading...");
        dialog.setCancelable(false);
        dialog.show();  
        }
        super.onPreExecute();
    }       
    @Override
    protected String doInBackground(String... params) {
        // TODO Auto-generated method stub

        return null;
    }       
    @Override
    protected void onPostExecute(String result) {
        // TODO Auto-generated method stub
        super.onPostExecute(result);
        dialog.dismiss();
    }
}

由于

0 个答案:

没有答案