小编Shi*_*ine的帖子

Android刷新当前活动

我想编程我的Android应用程序来刷新它在ButtonClick上的当前活动.我在活动布局的顶部有一个按钮可以完成这项工作.当我点击按钮时,当前活动应该重新加载 - 就像设备重启一样.

谢谢

android

59
推荐指数
5
解决办法
23万
查看次数

在牛轧糖上的黑暗背景上的黑色文本(android.R.layout.simple_spinner_item)

我在Welcome Activity上有一些基本代码,它像往常一样简单地绑定List适配器:

final ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, android.R.id.text1);
    spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Run Code Online (Sandbox Code Playgroud)

曾经有效,直到我更新到API级别25.此时,没有其他更改,微调器下拉列表的文本变得不可读:

在黑暗的背景机器人7的黑文本

我的主题的父级是"Theme.AppCompat.Light.NoActionBar",但同样,我没有玩那里的颜色,因为它显示正确(API <25)没有任何改变.任何的想法?

我知道我可以用一些setTextColor()内部修复它spinner.setOnItemSelectedListener(),但主要的一点是理解为什么它工作,现在它没有,因为这可能是我身边某些概念错误的标志,甚至某种Android bug.事实上,我注意到相同的问题(深色背景上的黑色文本)在非常标准的小部件/应用程序上,如Cyanogen/LineageOS默认天气一:

在黑暗的背景机器人7的黑文本

android android-arrayadapter android-spinner

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

achartengine演示编译,但运行时错误

我按照http://www.achartengine.org/content/goodies.html页面上的演示说明进行操作

我成功导入了演示项目,但每个图表都NoClassDefFoundError在运行时抛出一个,类似于:

java.lang.NoClassDefFoundError:
org.achartengine.model.XYMultipleSeriesDataset
Run Code Online (Sandbox Code Playgroud)

achartengine-1.0.0.jar位于构建路径上,并在"Referenced Libraries"下报告.我想这是一个新手问题,但我决定报告它,因为我只是按原样导入了演示项目 并尝试在我的手机上运行它.

我是否需要其他步骤,而不是在"好东西"页面上列出?

android achartengine

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

Android,Volley Request,响应是阻塞主线程

使用Volley处理大型响应时会发生一些不好的事情:

String url = AppHelper.DOMAIN + "/service/pages/profile_update.json";

this.infoTextView.setText(getString(R.string.profile_info_updating));

final StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
        new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                try {
                    JSONObject json = new JSONObject(response);

                    if (json.getBoolean("success")) {
                        // manage JSON object here
                    } else {
                        Toast.makeText(ProfileActivity.this,
                                getString(R.string.connection_problem_server),
                                Toast.LENGTH_LONG).show();
                    }
                } catch (JSONException e) {
                    ProfileActivity.this.infoTextView.setText(
                            getString(R.string.profile_info_updating_error));

                    e.printStackTrace();
                }
            }
        }, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        ProfileActivity.this.infoTextView.setText(
                getString(R.string.profile_info_updating_error));

        if (error.networkResponse != null && error.networkResponse.statusCode == 401) {
            Toast.makeText(ProfileActivity.this,
                    getString(R.string.connection_problem_permission),
                    Toast.LENGTH_LONG).show(); …
Run Code Online (Sandbox Code Playgroud)

java multithreading android android-volley

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

Android Accelerated模拟器不断重启

我习惯在真实设备和AVD上测试应用程序.由于ICS虚拟设备非常慢,我决定尝试加速仿真器.我按照说明使用英特尔虚拟化技术(x86系统映像目标)成功设置了加速虚拟机.

模拟器工作,而且速度非常快.但是在第二个应用程序上传/安装时,它突然重新启动.它在第一次启动/上传时总能正常工作,但是当我编辑某些东西并再次测试应用程序时,它会"从头开始"重新启动(显示android徽标).

我没有使用快照保存/恢复.LogCat 不会报告错误,我使用的是Android SDK工具Rev.20和platform-tools rev.12,关于Win7.

Intelhaxm似乎工作正常,报告"运行"状态.重启后,我必须再次上传应用程序,这很烦人.

有没有人遇到同样的问题,也许解决了它?

android android-emulator android-4.0-ice-cream-sandwich

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

https://www.googleapis.com/games/v1/players/1123xxxxxx11712506520的意外响应代码403和其他播放服务错误

我正在努力使游戏API工作,参考https://github.com/playgameservices/android-samples/blob/master/BaseGameUtils/src/com/google/example/games/basegameutils/BaseGameActivity.java作为示例码.

我非常相似,基本上我正在尝试连接游戏客户端并收到否定答案.当尝试使用startResolutionForResult()来管理它时,这就是我得到的:

  E/Volley(15638): [1492] il.a: Unexpected response code 403 for https://www.googleapis.com/games/v1/players/112370814111712506xxx
  E/Volley(15638): [1492] il.a: Unexpected response code 403 for https://www.googleapis.com/games/v1/players/112370814111712506xxx
  E/SignInIntentService(15638): Access Not Configured
  [...]
   E/LoadSelfFragment(15748): Unable to sign in - application does not have a registered client ID
Run Code Online (Sandbox Code Playgroud)

最后一条消息,"应用程序没有注册的客户端ID"让我想到了这个问题...但我不认为我的问题与应用程序ID /客户端ID有关,因为我在另一个上使用相同的API密钥机.我非常确定从当前机器的debug.keystore派生的SHA1正确性.

问题似乎与我正在使用的测试地址有关,奇怪的是我没有收到总是相同的回复:使用相同的键和设置,我有时得到:

 E/SignInIntentService(15638): Access Not Configured
Run Code Online (Sandbox Code Playgroud)

甚至:

  E/SignInIntentService(15638): Unable to load player
Run Code Online (Sandbox Code Playgroud)

startResolutionForResult()在OnConnectionFailedListener中使用它,它会短暂显示登录屏幕,但随后会报告错误.

  • 另一个奇怪的事情是调用了onActivityResult(),结果代码是10004

  • 我无法理解的最后一件事是,在登录失败后,为了循环我的应用程序,一遍又一遍地调用onConnectionFailed()方法.相关代码是:

    public void initClient() {
            GamesClient.Builder gcBuilder = new GamesClient.Builder(this, cb, cf);
    gcBuilder.setGravityForPopups(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
    //gcBuilder.setScopes(mScopes);
    mGamelient = gcBuilder.create();
    mSchiacciameleView.setGameClient(gcBuilder.create()); …
    Run Code Online (Sandbox Code Playgroud)

android google-api google-play-services

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

androidx.work.impl.WorkManagerInitializer:java.lang.ClassNotFoundException:路径上的“androidx.work.impl.WorkManagerInitializer”:/data/app/app-2.apk

我最近将旧应用程序的后台服务迁移到WorkManager。在最近的设备上(包括 sdk 22),它看起来不错,运行重复的工作单元并按预期在设备重新启动时安排它们。

问题是当我针对旧版本(旧在这里非常相关)进行测试时,Android sdk 14 是我的minSdkVersion. 顺便说一句,也WorkManager应该有相同的:根据doc向后兼容 API 14。如标题所述,我得到的错误是

 java.lang.RuntimeException: Unable to get provider androidx.work.impl.WorkManagerInitializer: java.lang.ClassNotFoundException: Didn't find class "androidx.work.impl.WorkManagerInitializer" on path: /data/app/com.example.myapp.apk
    at android.app.ActivityThread.installProvider(ActivityThread.java:4822)
Run Code Online (Sandbox Code Playgroud)

我没有任何自定义 WorkManager 配置/初始化,我只是添加了

     implementation 'androidx.work:work-runtime:2.2.0'
Run Code Online (Sandbox Code Playgroud)

到我的模块的 gradle 并非常典型地使用它来安排后台操作。

android-workmanager androidx

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

Hibernate/JPA是否考虑了transiant修饰符(而不是注释)

我想避免序列化(在JMS/AMF中),但仍然使用JPA/Hibernate保持字段.

transient修改我的朋友?@Transient注释和transient修饰符是否相关?

java规范精确地指出,瞬态字段不会被系统服务保存到持久存储中.但是hibernate是一个系统服务吗?(我不这么认为) http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#78119

并且java.io.Serialisable接缝表明a out.writeObject and in.readObject要求序列化 http://download.oracle.com/javase/1.4.2/docs/api/java/io/Serializable.html

任何见解?

也许我应该写一个快速测试,但我会对一个规范更有信心.

谢谢 !

java serialization persistence hibernate jpa

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

JavaFX - 属性"无效"的含义

在JavaFX的上下文中,在更改时属性"无效"是什么意思?我不明白使用这个术语的原因.

JavaFX属性是可观察的对象并包装字段值.因此,当属性更新或变为无效时,会通知其listerners /观察者.这是什么意思?

javafx listener bindable observable

6
推荐指数
2
解决办法
1548
查看次数

启动新Activity时的TransactionTooLargeException

我认为在大小意向的额外限制为1MB,作为报告的文档.无论如何,有一天我失去了追逐这个可怕的TransactionTooLargeException:

 E/JavaBinder(368): !!! FAILED BINDER TRANSACTION !!!
 Exception when starting activity android/com.android.internal.app.ChooserActivity
 android.os.TransactionTooLargeException
at android.os.BinderProxy.transact(Native Method)
at    android.app.ApplicationThreadProxy.scheduleLaunchActivity(ApplicationThreadNative.java:705)
at com.android.server.am.ActivityStack.realStartActivityLocked(ActivityStack.java:690)
at com.android.server.am.ActivityStack.startSpecificActivityLocked(ActivityStack.java:799)
at com.android.server.am.ActivityStack.resumeTopActivityLocked(ActivityStack.java:1743)
at com.android.server.am.ActivityStack.resumeTopActivityLocked(ActivityStack.java:1381)
at com.android.server.am.ActivityStack.completePauseLocked(ActivityStack.java:1129)
at com.android.server.am.ActivityStack.activityPaused(ActivityStack.java:1027)
at com.android.server.am.ActivityManagerService.activityPaused(ActivityManagerService.java:4288)
at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:381)
at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:1611)
at android.os.Binder.execTransact(Binder.java:367)
at dalvik.system.NativeStart.run(Native Method)
Run Code Online (Sandbox Code Playgroud)

糟糕的是startActivity失败了,但是ActivityManager不断重复它,产生无限的进程.这似乎在这篇博客文章中得到了证实,其中作者指出了86389个字符"限制".我的相关代码很简单:

                    Intent myIntent = new Intent(activity, VacancySwipeActivity.class);
                    //myIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    Bundle ex = new Bundle();
                    ex.putSerializable(Constants.Extra.VACANCY, vacancies);
                    ex.putString("token", token);
                    ex.putString("cosa", cosa.getText().toString());

                    ex.putInt("dist", searchDistance.getProgress());
                    ex.putString("dove", dove.getText().toString());
                    if (ret.getSearchLocation() != null) {
                        ex.putParcelable("userLoc", …
Run Code Online (Sandbox Code Playgroud)

binding android android-intent

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