小编Sha*_*eem的帖子

4.0及以上版本的Android support-v7-appcompat问题

我向后移植我的Android应用程序以支持旧设备(2.3.3+).以前,它是4.0+.

我正在使用ActionBar并在基类中的代码中对其进行自定义样式.转换为支持ActionBar后,样式代码为:

public static void styleActionBar(final ActionBarActivity activity) {
    /* Setup the actionbar as required */
    final ActionBar actionBar = activity.getSupportActionBar();

    if (actionBar != null) {
        actionBar.setBackgroundDrawable(new ColorDrawable(0xfffffff));
        actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
        actionBar.setCustomView(R.layout.customview_actionbar);

        ....
    }
}
Run Code Online (Sandbox Code Playgroud)

在这一变化之后,所有事情都在2.3.3上完美运行.但是,对于4.0+,它崩溃了

        actionBar.setBackgroundDrawable(new ColorDrawable(0xfffffff));
Run Code Online (Sandbox Code Playgroud)

此外,如果我评论这一行,我可以看到它也崩溃了actionBar.setCustomView.

4.2上的堆栈跟踪:

....
Caused by: java.lang.NullPointerException
    at android.support.v7.app.ActionBarImplICS.setBackgroundDrawable(ActionBarImplICS.java:176)
    at com.mycompany.myproj.ProjBaseActivity.styleActionBar(ProjBaseActivity.java:68)
    at com.mycompany.myproj.ProjBaseActivity.onCreate(ProjBaseActivity.java:32)
    at com.mycompany.myproj.TextSearchActivity.onCreate(TextSearchActivity.java:60)
    at android.app.Activity.performCreate(Activity.java:5008)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2139)
Run Code Online (Sandbox Code Playgroud)

它在2.3.3中完美运行,它在我看来像是support-v7-appcompat中的一个问题.

克服或解决的任何线索/帮助?提前致谢.

编辑1:values-v14/styles.xml内容:

<resources>

  <style name="MyTheme" parent="@style/Theme.AppCompat.Light">
    <item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
  </style>

  <style name="MyTheme.ActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar">
    <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
  </style>

  <style name="MyTheme.ActionBar.TitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item …
Run Code Online (Sandbox Code Playgroud)

android android-appcompat android-actionbar-compat

6
推荐指数
1
解决办法
976
查看次数

如何检测和调试过时的缓存条目?

我正在使用memcached与PHP尝试进行大量缓存以避免数据库读取.我在更新时使缓存失效(应用程序无效).但是,陈旧的缓存数据正成为一个大问题.大多数情况下,这是由于失效中的错误(使错误的密钥无效或忘记在UPDATE上使缓存条目无效).

在开发/生产过程中有没有什么好方法可以检测/调试这些类型的错误?

php debugging memcached caching

5
推荐指数
1
解决办法
1318
查看次数

PHP变量替换

是否有任何函数替换字符串中的params?像这样的东西:

码:

$format_str = "My name is %name."; /* this was set in a 
                                      configuration file - config.php */

$str = xprintf($format_str, array('name' => 'Joe', 'age' => 150)); 
              /* above is somewhere in main code */
Run Code Online (Sandbox Code Playgroud)

操作后$ str的预期值为:

My name is Joe.
Run Code Online (Sandbox Code Playgroud)

更新:我知道sprintf.但是,在这种情况下,这还不够.我修改了代码以显示有什么区别.

php

4
推荐指数
1
解决办法
2399
查看次数

iOS:如何在App内以编程方式切换推送通知

我想使用应用中的设置页面以编程方式为我的应用启用/禁用推送通知.

这可能/支持吗?如果是,请欣赏用于此的API的任何指针.

PS:我知道用户可以从主屏幕进入设置,为每个应用配置推送通知.但是,这个要求是在应用程序内部实现相同的功能.

iphone push-notification ios

4
推荐指数
1
解决办法
3419
查看次数

如何获得Mercurial中的提交摘要

我想通过以下信息获得提交摘要

  • 工作天数,开始日期和结束日期.
  • 按天计算的活动摘要 - 仅提交的数量和更改的行数.

这有延伸吗?

mercurial

4
推荐指数
2
解决办法
2303
查看次数

在Fox新闻iPhone应用程序中自定义UINavigationBar

如何完成UINavigationBar自定义?它是使用子类还是类别?

福克斯新闻iPhone应用程序

我对两个方面感兴趣:

  1. 将图像添加到NavBar(如FOXNEWS徽标)
  2. 将后退按钮自定义为"显示".(后退按钮通常采用堆栈中前一个视图的标题,但在上一个视图中没有标题.)

在此先感谢您的帮助

iphone objective-c uinavigationbar ios

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

ASP.net:是否可以从session-id手动初始化会话

我正在用C#构建一个Web服务(ASMX).我正在考虑使用ASP.net会话ID作为身份验证的标记.

我有使用CreateSessionID生成的session-id.这将在成功验证后发送到客户端(作为Web服务调用'login'的返回值).

对于后续请求,客户端将会话id作为参数发送到Web服务调用.是否可以从此会话ID字符串重新创建会话?

提前致谢.

asp.net session asmx sessionid

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