小编Dav*_*ini的帖子

更新通知文本,而不是整个通知

序幕

我正在尝试在通知上添加计时器.计时器是一项服务.每一行调用此行(继续Thread是一个"running"布尔值,timeString是精心设计的String,显示时间):

NotificationChrono.updateNotification(getApplicationContext(), continueThread, 
NOTIF_ID, timeString, "Chronometer", notificationManager);
Run Code Online (Sandbox Code Playgroud)

这是NotificationChrono类:

public class NotificationChrono {

    static public void updateNotification(Context context, boolean running,
        int id, String title, String text,
        NotificationManager notificationManager) {

        Intent stopIntent = new Intent("com.corsalini.david.barcalc.STOP");
        PendingIntent stopPendingIntent = PendingIntent.getBroadcast(context,
            0, stopIntent, 0);

    Intent startIntent = new Intent(
            "com.corsalini.david.barcalc.STARTPAUSE");
    PendingIntent startPendingIntent = PendingIntent.getBroadcast(context,
            0, startIntent, 0);

    NotificationCompat.Builder builder = new NotificationCompat.Builder(
            context)

            .setContentText(context.getString(R.string.notif_text))

            .setContentTitle(title)

            .setSmallIcon(R.drawable.ic_action_alarm_2)

            .setAutoCancel(false)

            .setOngoing(running)

            .setOnlyAlertOnce(true)

            .setContentIntent(
                    PendingIntent.getActivity(context, 10, new Intent(
                            context, FrontActivity.class)
                            .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP), 0))
            .addAction(
                    running ? R.drawable.ic_action_pause
                            : …
Run Code Online (Sandbox Code Playgroud)

android android-notifications

44
推荐指数
3
解决办法
4万
查看次数

房间"不确定如何将光标转换为此方法的返回类型":哪种方法?

Error:Not sure how to convert a Cursor to this method's return type
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
Compilation failed; see the compiler error output for details.
Run Code Online (Sandbox Code Playgroud)

使用Room我收到此错误,我想找出导致它的方法.

我有多个DAOs,总共有大约60个方法,并且在添加方法之后弹出了这个错误(从另一个完美工作的复制和粘贴,只是将字段更改为设置).

我可以发布整个类的DAOs,但我想知道哪种方法失败了.我试着用Run with --stacktrace,Run with --info--debug option,但这些都不显示出任何有价值的信息.

我添加的方法是一个@Query UPDATEInt返回类型,如在建议的文档

UPDATE或DELETE查询可以返回void或int.如果是int,则该值是受此查询影响的行数.

编辑:我想补充一点,我尝试删除该方法,使DAO回到工作状态,但它仍然给我这个错误.

EDIT2:添加gradle控制台输出,因为在评论中不可读:

error: Not sure how to convert a Cursor to this method's return type
error: Not sure how to convert a Cursor to …
Run Code Online (Sandbox Code Playgroud)

android dao kapt android-room android-architecture-components

30
推荐指数
8
解决办法
2万
查看次数

如何在旧设备上使用Theme.Material启动应用程序

如何在pre-v21设备上运行我的应用程序?

compileSdkVersion  'android-L'
minSdkVersion 14
targetSdkVersion 'L'
Run Code Online (Sandbox Code Playgroud)

我只使用Theme.Materialon v21.我没有使用v20支持库,我正在使用com.android.support:support-v4:19.+

从Android Studio运行应用程序时,它表示该设备不兼容:

{compatible=NO, reason=minSdk(API 20, L preview) != deviceSdk(API 16)}
Run Code Online (Sandbox Code Playgroud)

从哪里开始minSdk 20

编辑:

发生这种情况的原因可能是(如果经过验证)

如果您针对预览SDK(android-L)进行编译,则构建工具会将minSdkVersion和targetSdkVersion锁定到相同的API级别.这导致生成的应用程序无法安装在运行旧版Android的设备上,即使您的应用程序没有执行任何特定于L的操作.

资料来源:Reddit

android material-design android-5.0-lollipop

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

Recyclerview:收听填充点击事件

我有一个横向RecyclerViewleftPadding = 48dp,topPadding = 24dpclipToPadding = false.它从左侧的空白区域开始,但是当用户滚动列表时,其项目将在该(先前为空)空间上绘制.顶部空间始终为空.

在此输入图像描述

RecyclerView是在FrameLayout中foreground = selectableItemBackground.

我的问题来自这样一个事实,即RecyclerView消耗和忽略左侧和顶部空间的触摸,这意味着OnClickListener当连接到FrameLayout或者连接时都不会触发RecyclerView.

我已经与尝试clickable = false,并focusable = falseRecyclerView,这是行不通的.

我在找什么:

  1. 滚动 RecyclerView 在此输入图像描述
  2. 可点击的RecyclerView项目 在此输入图像描述
  3. FrameLayout单击RecyclerView's空白时单击事件
  4. (3的替代)可点击的RecyclerView's空格 在此输入图像描述 在此输入图像描述

编辑:我已经创建了一个简单的项目,显示我正在谈论的问题:https://github.com/dadino/recyclerviewemptyspacestest 有2个提交,在第一个我试图抓住父视图的点击,在第二个我试图抓住RecyclerView本身的点击.它们都不起作用.

android android-custom-view kotlin android-recyclerview android-touch-event

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

如何设置PreferenceFragmentCompat的样式

我正在使用PreferenceFragmentCompat,但我不认为它的风格正确.

在此输入图像描述

首选项的标题似乎很大,PreferenceCategory文本是不可读的,整个想法似乎是关闭.

这就是我在theme.xml中的内容

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    ...
    <item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
</style>

<style name="PreferenceThemeOverlay">
    <item name="preferenceScreenStyle">@style/Preference.PreferenceScreen</item>
    <item name="preferenceFragmentStyle">@style/PreferenceFragment</item>
    <item name="preferenceCategoryStyle">@style/Preference.Category</item>
    <item name="preferenceStyle">@style/Preference</item>
    <item name="preferenceInformationStyle">@style/Preference.Information</item>
    <item name="checkBoxPreferenceStyle">@style/Preference.CheckBoxPreference</item>
    <item name="switchPreferenceCompatStyle">@style/Preference.SwitchPreferenceCompat</item>
    <item name="dialogPreferenceStyle">@style/Preference.DialogPreference</item>
    <item name="editTextPreferenceStyle">@style/Preference.DialogPreference.EditTextPreference
    </item>
    <item name="preferenceFragmentListStyle">@style/PreferenceFragmentList</item>
</style>
Run Code Online (Sandbox Code Playgroud)

android android-appcompat android-support-library android-settings

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

TabListener,ActionBarSherlock Fragment和ListFragment,PageAdapter的混合?一团糟

我有一个有2个片段的活动.我决定使用PageAdapter在两个视图之间滑动,但是,为了保持接近Android设计的最佳实践,我还决定使用操作栏选项卡(固定的).我正在使用ActionBarSherlock和来自这里的一些代码来实现选项卡.只有pageadapter,活动运行得很好,现在我有两个问题:1)第一个片段(MatchRugbyButtonFragment)叠加自己的图像,所以如果我触摸它并移动或改变某些东西,我看到工作片段上方的图像.2)当我转到第二个片段时,第一个丢失所有变量(定时器复位,计数器复位,ecc).我必须创建到tablistener,因为一个片段是SherlockFragment而另一个片段是SherlockListFragment,并且导致一个错误,它无法将片段转换为SherlockListFragment.这是活动:

  import java.util.ArrayList;
  import java.util.Arrays;
   import java.util.List;
    import java.util.Vector;

    import android.content.Intent;
    import android.os.Bundle;
     import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentManager;
     import android.support.v4.app.FragmentTransaction;
    import android.support.v4.app.ListFragment;
    import android.support.v4.view.ViewPager;
    import android.view.View;
    import android.widget.ArrayAdapter;
    import android.widget.Toast;

      import com.actionbarsherlock.app.ActionBar;
    import com.actionbarsherlock.app.ActionBar.Tab;
    import com.actionbarsherlock.app.SherlockFragment;
    import com.actionbarsherlock.app.SherlockFragmentActivity;
    import com.actionbarsherlock.view.Menu;
    import com.actionbarsherlock.view.MenuInflater;
    import com.actionbarsherlock.view.MenuItem;


    public class MatchRugbyFragments extends SherlockFragmentActivity implements View.OnClickListener, View.OnLongClickListener{


public static ArrayList<String> commentary;

public static ArrayAdapter<String> adapter;



// list contains fragments to instantiate in the viewpager
static List<Fragment> fragments = new Vector<Fragment>();
// page adapter between …
Run Code Online (Sandbox Code Playgroud)

android android-fragments actionbarsherlock android-actionbar

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

棒棒糖中的活动和片段转换

我正试图围绕新的Activity Transition框架Lollipop.活动过渡工作非常简单,这里有一些基本信息,但是Fragment Transition没有记录,我无法让它工作.我试过这个用例(在Android中很常见):

案例1:ActA + FragA - > ActB + FragB

sharedElement作为一个图像FragAFragB.我没有提出工作代码,所以我退后一步尝试了

案例2:ActA + FragA - > ActB

在和上使用sharedElement.动画不起作用,我只能看到当我点击FragA上的图像时,图像消失,在动画的持续时间后,它会在ActB中弹出.FragA之外的共享视图,但在ActA(例如)内部正确动画.FragAActBToolbar

在这种情况下,sharedImage是RecyclerView中的imageView,可能是android:transitionName="shared_icon"项目布局xml中的xml标签不起作用吗?

这是我的主题:

 <!-- Window Transactions -->
    <item name="android:windowContentTransitions">true</item>
    <item name="android:windowAllowEnterTransitionOverlap">true</item>
    <item name="android:windowAllowReturnTransitionOverlap">true</item>
    <item name="android:fragmentAllowEnterTransitionOverlap">@bool/true_bool</item>
    <item name="android:fragmentAllowReturnTransitionOverlap">@bool/true_bool</item>

    <item name="android:windowEnterTransition">@transition/window_transition.xml</item>
    <item name="android:windowExitTransition">@transition/window_transition.xml</item>
    <item name="android:fragmentEnterTransition">@transition/window_transition.xml</item>
    <item name="android:fragmentReturnTransition">@transition/window_transition.xml</item>
    <item name="android:fragmentReenterTransition">@transition/window_transition.xml</item>

    <!-- Shared Element Transactions -->
    <item name="android:windowSharedElementEnterTransition">@transition/shared_elements_transform.xml</item>
    <item name="android:windowSharedElementExitTransition">@transition/shared_elements_transform.xml</item>

    <item name="android:fragmentSharedElementEnterTransition">@transition/shared_elements_transform.xml</item>
    <item …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-5.0-lollipop activity-transition shared-element-transition

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

基于ListItem特定变量在ListItem上扩展布局

我正在使用a SimpleCursorAdapter和a ListView来显示一些加载了Loader的数据.在里面,cursor我有一个int从0到3的项目.

我希望具有此int的项目等于0-1以具有布局(右对齐,一种颜色)和具有2-3的项目以具有另一布局(左对齐,另一种颜色). much like a chat app, where sent messages are on the right and received ones are on the left.

有一个简单的方法吗?像开关一样,0-1我膨胀layout_1和2-3我膨胀layout_2.

编辑:我已经添加了ListFragment的代码,我正在尝试填充.用作开关的int是MyContentProvider.Data.E_TYPE.我无法理解它,但也许有人可以清楚地解释我要写的东西!

   import com.actionbarsherlock.view.Menu;
   import com.actionbarsherlock.view.MenuInflater;
   import com.corsalini.survcontr.MyContentProvider.Data;

   import android.content.ContentResolver;
   import android.content.ContentValues;
   import android.database.Cursor;
   import android.os.Bundle;
   import android.support.v4.app.ListFragment;
   import android.support.v4.content.CursorLoader;
   import android.support.v4.app.LoaderManager;
   import android.support.v4.content.Loader;
   import android.support.v4.widget.CursorAdapter;
   import android.support.v4.widget.SimpleCursorAdapter;
   import android.util.Log;
   import android.view.View;
   import android.widget.ListView;



  public class FragEvents extends ListFragment implements  LoaderManager.LoaderCallbacks<Cursor>{
@Override
public void onPause() {
    allRead();
    super.onPause();

}

private static …
Run Code Online (Sandbox Code Playgroud)

android listview listitem loader adapter

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

UsageStatsManager从最后一天/周/月/年返回数据?

我想查询UsageStatsUsageStatsManager.我已经建立了一个DateUtils课程,为我提供了获取每天/每月/每年(一周即将到来)的开始和结束时间的方法,如下所示:

public static Calendar getCal(int year, int month, int day) {
    Calendar cal = Calendar.getInstance();
    cal.set(year, month, day, 0, 0, 0);
    cal.set(Calendar.MILLISECOND, 0);
    return cal;
}

public static long getDayStart(int year, int month, int day) {
    return getCal(year, month, day).getTimeInMillis();
}

public static long getDayEnd(int year, int month, int day) {
    Calendar cal = getCal(year, month, day);
    cal.add(Calendar.DATE, 1);
    return cal.getTimeInMillis();
}
Run Code Online (Sandbox Code Playgroud)

我正在使用这些长篇来查询UsageStats不同的日子:

 mUsageStats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, startTime, endTime);
Run Code Online (Sandbox Code Playgroud)

我今天可以获取数据,但前几天将返回一个空列表.

这是我用来获取数据的方法:

12 nov …
Run Code Online (Sandbox Code Playgroud)

android android-5.0-lollipop

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

Android Realm,按子属性查询对象

我正在使用Realm-JavaAndroid应用程序.

我需要查询列表MyObject,搜索包含字符串的列表MyObject.SubObject_A.ListOfString.

由于Realm不支持列表String,我现在使用这个结构:

-MyObject
----SubObject_A
--------Attribute_A
--------Attribute_B
--------RealmList<RealmString>
----SubObject_B
----OtherStuff
Run Code Online (Sandbox Code Playgroud)

随着RealmString存在

public class RealmString extends RealmObject {
  public static final String VALUE = "value";
  private String value;
}
Run Code Online (Sandbox Code Playgroud)

如何MyObject在内部查询包含给定String的所有内容MyObject.SubObject_A.RealmList<RealmString>

java android realm

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