在我的Galaxy Tab 10.1上的日历应用程序中,创建新事件时,标题栏/操作栏区域中会出现一个对话框,其中包含完成和取消按钮.

我想在我的应用中实现这一点.我已经尝试使用setHasOptionsMenu(true)除了覆盖onCreateOptionsMenu我的DialogFragment子类,但我的动作项目没有出现.我也试过getDialog().getActionBar()从内部打电话,onCreateView但总是回来null.
如果我开始一个Activity而不是显示一个对话但是占据了整个屏幕,我能够正常工作.是否有标准的方法来使用DialogFragment?
我正在尝试使用an AsyncTaskLoader在后台加载数据以填充详细信息视图以响应所选的列表项.我已经得到它主要工作,但我仍然有一个问题.如果我在列表中选择第二个项目然后在第一个选定项目的加载完成之前旋转设备,则onLoadFinished()呼叫将报告给正在停止的活动而不是新活动.只选择一个项目然后旋转时,这样可以正常工作.
这是我正在使用的代码.活动:
public final class DemoActivity extends Activity
        implements NumberListFragment.RowTappedListener,
                   LoaderManager.LoaderCallbacks<String> {
    private static final AtomicInteger activityCounter = new AtomicInteger(0);
    private int myActivityId;
    private ResultFragment resultFragment;
    private Integer selectedNumber;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        myActivityId = activityCounter.incrementAndGet();
        Log.d("DemoActivity", "onCreate for " + myActivityId);
        setContentView(R.layout.demo);
        resultFragment = (ResultFragment) getFragmentManager().findFragmentById(R.id.result_fragment);
        getLoaderManager().initLoader(0, null, this);
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.d("DemoActivity", "onDestroy for " + myActivityId);
    }
    @Override
    public void onRowTapped(Integer number) {
        selectedNumber …Run Code Online (Sandbox Code Playgroud) android asynctaskloader android-loadermanager android-loader
我有一个SwingWorker调用一些不检查线程中断的代码.调用之后worker.cancel(true),该worker.get()方法将CancellationException立即抛出(正如它应该的那样).但是,由于后台任务的代码从不检查其线程是否被中断,因此它很乐意继续执行.
是否存在等待后台任务实际完成的标准方法?我希望显示一个"正在取消..."消息或类似的东西,并阻止任务终止.(我确信如果有必要,我可以在工人类中使用标志来完成此操作,只需查找其他任何解决方案.)