小编Fro*_*zie的帖子

onBreateOptionsMenu在JB 4.2上的onResume之后调用

我的应用程序中有以下片段:

public class MyFragment extends SherlockListFragment implements LoaderManager.LoaderCallbacks<Cursor> {
  private MenuItem refresh = null;

  @Override
  public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    setHasOptionsMenu(true);

    //.....

    // NPE here
    refresh.setActionView(R.layout.indeterminate_progress_action);
    getActivity().getSupportLoaderManager().initLoader(0, null, this);
  }

  @Override
  public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.refresh_menu, menu);
    refresh = (MenuItem) menu.findItem(R.id.menu_item_refresh);
  }

  @Override
  public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
    mAdapter.swapCursor(data);
    refresh.setActionView(null);
  }
}
Run Code Online (Sandbox Code Playgroud)

基本上当用户启动Activity时,我想在操作栏中显示进度微调器,直到加载器完成.在Android 4.2之前一切正常.在Android 4.2上,我收到以下错误:

11-24 13:37:14.811: E/AndroidRuntime(17850): Caused by: java.lang.NullPointerException
11-24 13:37:14.811: E/AndroidRuntime(17850):    at com.MyApp.library.fragments.MyFragment.onActivityCreated(TabFragment.java:65)
Run Code Online (Sandbox Code Playgroud)

添加一些断点后,我意识到onCreateOptionsMenu在onActivityCreated之后被调用.我可以使用另一个生命周期事件吗?是否有更好的方法来达到预期的效果?

android android-fragments android-actionbar android-4.2-jelly-bean

22
推荐指数
1
解决办法
6057
查看次数

构建时出错yasm/source/patched-yasm/util.h:78:23:错误:libintl.h:没有这样的文件或目录

建成几乎半小时后,我得到以下错误.到目前为止,没有任何谷歌搜索帮助...

In file included from external/chromium_org/third_party/yasm/source/patched-yasm/libyasm/phash.c:2:
external/chromium_org/third_party/yasm/source/patched-yasm/util.h:78:23: error: libintl.h: No such file or directory
make: *** [out/host/darwin-x86/obj/STATIC_LIBRARIES/third_party_yasm_genperf_libs_host_gyp_intermediates/third_party/yasm/source/patched-yasm/libyasm/phash.o] Error 1
make: *** Waiting for unfinished jobs....
Run Code Online (Sandbox Code Playgroud)

macos android makefile android-source

9
推荐指数
1
解决办法
766
查看次数

将dateTime转换为int

我让用户输入日期和时间.我需要将其更改为int以适合sqlight DB.我尝试将其解析为字符串,然后解析为int,但这不起作用吗?

     Time newTime= new Time();
    newTime.hour=fmtTime.HOUR0_FIELD;
    newTime.minute=fmtTime.MINUTE_FIELD;
    newTime.monthDay=fmtDate.DAY_OF_WEEK_IN_MONTH_FIELD;
    newTime.month=fmtDate.MONTH_FIELD;
    newTime.year=fmtDate.YEAR_FIELD;
    int currentTime=newTime.get;//how would I convert newTime to an int?
Run Code Online (Sandbox Code Playgroud)

java int datetime android

0
推荐指数
1
解决办法
4352
查看次数