小编ale*_*lex的帖子

从多任务面板取消关于删除应用程序的通知

我从我的应用程序(而不是服务)管理ONGOING通知.

当我用任务管理器用"结束"按钮终止应用程序时,通知消失.

当我从多任务pannel中删除应用程序时,应用程序被杀死但通知仍然存在.

我的问题是:

  • 如何捕捉此事件以清除通知?
  • 从多任务面板中删除应用程序时会发生什么?应用程序被破坏但进程仍然活着?这是正常的吗?

作为更新:

我的所有活动都使用以下方法扩展了MyActivity类(扩展了Activity):

@Override protected void onCreate(Bundle state) {
    super.onCreate(state);
    ((MyApplication) getApplication()).onActivityCreate(this, state);
}

@Override protected void onDestroy() {
    super.onDestroy();
    ((MyApplication) getApplication()).onActivityDestroy(this);
}
Run Code Online (Sandbox Code Playgroud)

我的应用程序使用以下方法扩展了MyApplication类(扩展了Application):

private List<Activity> activities = new ArrayList<Activity>();

protected final void onActivityCreate(Activity activity, Bundle state) {
    if(activities.isEmpty() && state == null) {
        onStart();
    }
    activities.add(activity);
}

protected final void onActivityDestroy(Activity activity) {
    activities.remove(activity);
    if(activities.isEmpty() && activity.isFinishing()) {
        onExit();
    }
}

protected void onStart() {
    // some code …
Run Code Online (Sandbox Code Playgroud)

android android-notifications

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

如何更改系统导航栏颜色

Android 5.0的指南中,导航栏似乎可以自定义:http: //www.google.com/design/spec/layout/structure.html#structure-system-bars

如何更改导航栏颜色?我想用白色风格.

截图: 在此输入图像描述 在此输入图像描述 在此输入图像描述 在此输入图像描述


编辑:在我的资源中,我测试了样式:

<item name="android:navigationBarColor" tools:targetApi="21">@android:color/white</item>
Run Code Online (Sandbox Code Playgroud)

但按钮是白色的.我想要与第二张图像相同的渲染器.

在此输入图像描述

android android-5.0-lollipop

36
推荐指数
7
解决办法
4万
查看次数

更改没有动画的切换状态

在我的Android项目中,我有一个ListView包含SwitchCompat项目的行(AppCompat for Switchwidget).

当我滚动到列表并使用视图调用getView(...)方法时,我的问题发生.我重新定义了正确的状态,但动画是可见的.MyAdapterrecycledSwitch

在这种情况下有一个防止动画的解决方案?

在此输入图像描述

android android-listview android-switch

30
推荐指数
3
解决办法
9391
查看次数

Android - MultipartEntity和依赖项

我最近将我的项目从Eclipse迁移到Android Studio(我还没有完全控制这个IDE).在这个项目中,我有一个文件上传器AsyncTask,它通过http发送multipart.为此,我使用org.apache.httpcomponents.我创建了以下依赖项:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'org.apache.httpcomponents:httpcore:4.4'
    compile 'org.apache.httpcomponents:httpmime:4.4'
    ...
}
Run Code Online (Sandbox Code Playgroud)

在我的java AsyncTask代码中:

MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addBinaryBody(...);
builder.addBinaryBody(...);
builder.addBinaryBody(...);
HttpEntity entity = builder.build(); // < throw exception
Run Code Online (Sandbox Code Playgroud)

我在启动上传时获得的异常:

Caused by: java.lang.NoSuchFieldError: org.apache.http.message.BasicHeaderValueFormatter.INSTANCE
    at org.apache.http.entity.ContentType.toString(ContentType.java:153)
    at org.apache.http.entity.mime.MultipartFormEntity.<init>(MultipartFormEntity.java:52)
    at org.apache.http.entity.mime.MultipartEntityBuilder.buildEntity(MultipartEntityBuilder.java:226)
    at org.apache.http.entity.mime.MultipartEntityBuilder.build(MultipartEntityBuilder.java:230)
Run Code Online (Sandbox Code Playgroud)

我认为android.jar > httpcomponentsorg.apache.httpcomponents依赖之间存在冲突但我没有找到解决问题的解决方案.

android androidhttpclient android-studio

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

背景动画与重复

在我的项目中,我想无限期地使用大图像模式为背景设置动画:

在此输入图像描述

我认为最初使用Matrix(用于缩放和翻译)和ValueAnimator来创建翻译动画,但我不知道如何重复该模式.

发展这种效果的方法是什么?谢谢您的帮助.


更新,我的源代码没有重复(注意:在GIF动画中,我水平绘制图像模式以表示简单但我需要实际上垂直翻译动画):

background.setImageResource(R.drawable.background);
background.setScaleType(ScaleType.MATRIX);

ValueAnimator animator = ValueAnimator.ofFloat(0, 1);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
    private Matrix matrix = new Matrix();
    @Override public void onAnimationUpdate(ValueAnimator animation) {
        float factor = (Float) animation.getAnimatedValue();
        int width = background.getDrawable().getIntrinsicWidth();
        int height = background.getDrawable().getIntrinsicHeight();
        float scale = (float) background.getWidth() / (float) width;
        matrix.reset();
        matrix.postTranslate(0, -height * factor);
        matrix.postScale(scale, scale);
        background.setImageMatrix(matrix);
    }
});

animator.setInterpolator(new LinearInterpolator());
animator.setRepeatCount(ValueAnimator.INFINITE);
animator.setRepeatMode(ValueAnimator.RESTART);
animator.setDuration(10000);
animator.start();
Run Code Online (Sandbox Code Playgroud)

android android-animation android-imageview

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

Limiting generic type

Is it possible in Java to limit a generic type <T> to only some types like:

  • Boolean
  • Integer
  • Long
  • Float
  • String

?

Edit: My problem is to limit a generic type <T> to different class types which have not common direct superclass.


Edit: I finally use the scheme proposed by Reimeus:

public class Data<T> {

    private T value;

    private Data(T value) {
        this.set(value);
    }

    public static Data<Integer> newInstance(Integer value) {
        return new Data<Integer>(value);
    }

    public static Data<Float> newInstance(Float …
Run Code Online (Sandbox Code Playgroud)

java

5
推荐指数
2
解决办法
3224
查看次数

扩展Widget的样式继承

在我的项目(支持AppCompat的Target API 21)中,我需要扩展EditText该类.我的问题是MyEditText类不继承EditText自定义的样式:

<style name="AppTheme" parent="@style/Theme.AppCompat.Light.NoActionBar" >
    <item name="colorPrimary">@color/primary</item>
    <item name="colorControlNormal">@color/grey_light</item>
    <item name="colorControlActivated">@color/primary</item>
    <item name="colorControlHighlight">@color/primary</item>
</style>
Run Code Online (Sandbox Code Playgroud)

@color/primary绿色


截图:

在此输入图像描述

  • 第1行:EditText专注
  • 第2行:EditText未聚焦(启用)
  • 第3行:MyEditText未聚焦(启用)

我的问题是:我如何继承默认EditText样式MyEditText

android android-custom-view android-theme android-5.0-lollipop

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

C# - JSON序列化的字典

我是C#开发的新手,

在我的项目中,我尝试Dictionary通过Settings使用以下代码将其序列化为存储来保存实例:

private static Dictionary<string, Dictionary<int, string>> GetKeys()
{
    Dictionary<string, Dictionary<int, string>> keys = null;
    try {
        JavaScriptSerializer ser = new JavaScriptSerializer();
        keys = ser.Deserialize<Dictionary<string, Dictionary<int, string>>>(Settings.Default.keys);
    }
    catch (Exception e)
    {
        Debug.Print(e.Message);
    }
    return keys;
}

private static void SetKeys(Dictionary<string, Dictionary<int, string>> keys)
{
    try
    {
        JavaScriptSerializer ser = new JavaScriptSerializer();
        Settings.Default.keys = ser.Serialize(keys);
    }
    catch (Exception e)
    {
        Debug.Print(e.Message);
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试调用SetKeys方法时,会出现问题.A ThreadAbortException抛出:

mscorlib.dll中发生了'System.Threading.ThreadAbortException'类型的第一次机会异常需要一个线程暂时运行.使用"监视"窗口执行评估.

您是否知道如何解决我的错误?

谢谢

c#

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

在初始化时实现实例的抽象方法

有一种方法可以在Java中实现C#初始化实例的抽象方法吗?

public static abstract class A
{
    public abstract String GetMsg();

    public void Print()
    {
        System.out.println(GetMsg());
    }
}

public static void main(String[] args)
{
    A a = new A()
    {
        @Override
        public String GetMsg()
        {
            return "Hello";
        }
    };

    a.Print();
}
Run Code Online (Sandbox Code Playgroud)

c#

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

在python中绘制自定义函数

我想绘制一个自定义函数,包括minmax:

import numpy as np
import matplotlib.pyplot as plt

f = lambda x: max(0, x)
x = np.linspace(-10, 10)
y = f(x)

plt.plot(x, y)
plt.show()
Run Code Online (Sandbox Code Playgroud)

结果:

ValueError:具有多个元素的数组的真值是不明确的.使用a.any()或a.all()

欢迎提供一些帮助

python numpy matplotlib

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