Articles of android activity

Android中的活动太多了?

当我开始我的Android项目时,我误解了应用程序中显示的每个屏幕都必须是一个新活动。 现在我完成了这个项目,我已经在我的模拟器以及几款Android手机上进行了检查。 到目前为止,我没有目睹任何问题,但最近我在某处读到,应用程序中的太多活动是一个非常糟糕的主意。 目前我的申请有大约15-20个活动。我觉得它应该是5-6左右。 我是否需要重新构建我的代码,或者只是在完成它之后完成每个活动的部分就足够了?

返回时的Android刷新活动

我需要一些帮助来刷新我的应用程序中的一个活动。 我正在使用标签主机活动并连接到Web服务并从我的一个子活动中下载一些数据。 当我在我的子活动中按下同步按钮时,我正在开始一个不在标签主机中的新活动,当同步完成后,它将返回到它的父(子活动)。 我想要实现的是当我返回它时刷新活动。 当我通过互联网查看时,我发现最好的选择是使用startActivityForResult ,但我真的不明白如何使用它以及如何在从完成的活动中收到结果时刷新活动。 如果有人能帮助我,我会很高兴。谢谢! 编辑: 我正在使用此代码,它甚至没有显示登录onActivityResult MyCollectionId.class: Intent intent = new Intent(MyCollectionId.this, Synchronization.class); intent.putExtra(“process”, 2); startActivityForResult(intent, 1); @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(resultCode==RESULT_OK){ Log.e(“”,”OnActivityResult”); Intent refresh = new Intent(this, MyCollectionId.class); startActivity(refresh); this.finish(); } } Synchronization.class: Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); setResult(RESULT_OK,intent); finish();

如何比较两个不同活动的上下文对象..?

我有一个类,我从10多个活动中获取上下文对象。 我想知道当前活动的上下文对象。 我尝试了以下但没有结果。 context.equals(One.this); context.equeals(One.class); 如有任何想法请与我分享!

防止在方向更改时重新启动活动

我是Android开发的新手。我有纵向和横向模式的单独屏幕。当我改变我的方向时,相应的屏幕被加载并且活动重新开始。 现在我不希望我的活动在我改变方向时重新启动,但是应该加载相应的屏幕(axml)。 我努力了 [Activity(Label =“MyActivity”,ConfigurationChanges = Android.Content.PM.ConfigChanges.Orientation)] 上面的行停止活动重新启动,但它加载相同的屏幕(axml)。 请建议。 谢谢

如何工作,当滚动视图里面的listview?

我这样做在Android 1.6和2.2 … 我在Activity中有一个ScrollView ( ScrollView中的所有内容)…… 第二,活动中的一个ListView …. 当我滚动ListView时,那时ScrollView正在滚动,但ListView的Scroll无效 … 我提供了我所遇到的问题 …… 如果有人有此解决方案,请分享…

Activity类之外的Android上下文

我正在尝试处理我的应用程序中的exception。 我正在尝试记录exception,然后使用Toast提醒用户存在问题。 我在我的所有类中都有这个工作,它扩展了Activity。 但是,在任何不扩展活动的类中,我都不能使用toast方法,因为我无法获取当前上下文。 有没有一种简单的方法来解决这个问题,还是我的class级应该扩展活动?

如何查找活动是否是堆栈中的最后一个活动

我在我的应用程序中打开一个链接,一旦按下后我想显示HomePage以保留用户更多时间。 我一直试图实现这一目标但却无法做到这一点。 我将homeLauncher活动作为我的top和baseActivity。 DeepLink Tap>打开所需的活动>用户按下后退按钮>检查其上一个活动但不是homeActivity>如果是,请将用户导航到homeActivity。 尝试以下代码: @Override public void onBackPressed() { ActivityManager mngr = (ActivityManager) getSystemService( ACTIVITY_SERVICE ); List taskList = mngr.getRunningTasks(10); if(taskList.get(0).numActivities == 1 && taskList.get(0).topActivity.getClassName().equals(this.getClass().getName())){ //// This is last activity } else{ //// There are more activities in stack } super.onBackPressed(); } 我也试过isTaskRoot但结果是一样的。 它没有给出正确的答案。请帮助

Android预览M:在权限授予后重新创建活动

我使用预览M并测试我的应用程序,尤其是“将文件保存到外部存储”部分。 在下载/保存过程开始之前,我请求 Manifest.permission.WRITE_EXTERNAL_STORAGE 开发者页面上描述的权限: https : //developer.android.com/preview/features/runtime-permissions.html 对话框按预期发生: “Allow to access photos, media, and files on your device?” Deny / Allow 如果我点击“拒绝”按钮,则调用活动的onRequestPermissionsResult方法。 如果我按下“允许”按钮,则首先重新创建活动,然后调用onRequestPermissionsResult方法。 我认为这是获得许可的结果。 但第二种情况很棘手,因为我想触发一个开始下载的回调,但此时此对象为null: public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { getLogger().error(“onRequestPermissionsResult ( ” + requestCode + “, ” + permissions + “, ” + grantResults + ” )”); switch (requestCode) { […]

Android:更新ParseUsers的字段

我正在使用ParseUser进行用户管理。 拥有用户名(唯一),我计划查询User类以识别用户,然后将新分数添加到“score”字段,就像排行榜一样。 编码如下: 码: public void update_user_score(String username, int original_score, int add) { final int new_score = original_score + add; ParseQuery query = ParseUser.getQuery(); query.whereEqualTo(“username”, username); query.setLimit(1); query.findInBackground(new FindCallback() { public void done(final ParseObject object, ParseException e) { if (e == null) { object.saveInBackground(new SaveCallback() { public void done(ParseException e) { object.put(“score”, new_score); object.saveInBackground(); onBackPressed(); […]

致命exception:java.lang.NoClassDefFoundError:android.support.v7.app.AppCompatDelegateImplV23

在我的最新版本中,我的一些用户(少于0.2%)正在崩溃,因为无法findandroid.support.v7.app.AppCompatDelegateImplV23 。 我无法重现这个问题,我只收到有关崩解剂的报道。 我用apktool从我的apk中提取文件,我可以在那里看到AppCompatDelegateImplV23.smali 。 知道会发生什么吗? 这是我在gradle上的编译行: compile ‘com.android.support:appcompat-v7:23+’ 这是例外: Fatal Exception: java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV23 at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:133) at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:117) at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:456) at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:59) at MyActivityClass.onCreate(MyActivityClass.java:353) at android.app.Activity.performCreate(Activity.java:6248) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1125) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2437) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2544) at android.app.ActivityThread.access$900(ActivityThread.java:150) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1394) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:168) at android.app.ActivityThread.main(ActivityThread.java:5845) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687) at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:117) 编辑:这是我的主要gradle文件: buildscript { repositories { […]