Articles of android activity

如何在Android中自动向上滚动Recycler视图?

我已经开发了一些聊天应用程序,我可以发送和接收消息。 但问题是每当我发送或接收消息的回收站视图不滚动到顶部,以便消息显示在键盘上方。 我已经使用上述回收视图android.support.v7.widget.RecyclerView 。

ActionBarActivity和片段活动的区别

我是Android的noob。 我刚刚开始通过FragmentActivity使用ActionBarActivity 。 他们之间有什么区别?

从静态方法开始一个Android活动

我想从Android设备上的静态Java方法开始一个活动。 我没有任何上下文或任何作为parameter passing给静态函数。 为了开始活动,我必须使用当前的运行方法调用“startActivity”作为“this”指针。 那么有没有办法获得当前的运行活动?

onBackPressed杀死一个活动中的处理程序 – Android

正如你所看到的,我有这个PlayLesson_01活动,它同时显示图像和audio。 这个活动有两个处理程序,一个控制图像和audio,另一个完成课程并返回上一个活动(课程菜单)。 目标 :点击硬返回button返回上一个活动,并停止播放图像和audio。 问题 :当我点击困难的“返回”时,我可以回到之前的活动,但audio仍在播放。我无法停止或终止在活动中启动的处理程序。 问题 :我怎样才能完全杀死或阻止这些处理程序? import android.app.Activity; import android.content.Context; import android.content.Intent; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletionListener; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.view.animation.AnimationUtils; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.BaseAdapter; import android.widget.Gallery; import android.widget.ImageSwitcher; import android.widget.ImageView; import android.widget.RelativeLayout.LayoutParams; import android.widget.ViewSwitcher.ViewFactory; public class PlayLesson_01 extends Activity implements OnItemSelectedListener, […]

DataBinding是否会干扰本地化活动?

TL; DR 我有一个支持多种语言的应用程序。 尽pipe使用了所有常用的本地化方法,但仍有一项活动未被翻译。 这是应用程序中唯一充分利用DataBinding Activity。 完整的解释 我有一个使用DataBinding的Activity 。 所以基本上,该活动的整个XML布局被封装在<layout>标签中。 这是我膨胀的观点,并获得约束力: SomeActivityBinding binding = DataBindingUtil.setContentView(this, R.layout.some_activity); 在XML有许多TextViews以这种方式设置文本: … android:text="@string/<name of a string>" … 我们为用户提供预定义的语言选项并设置应用程序的语言环境 Locale.setDefault(new Locale("<language name>")); 在英语区域,一切正常。 当应用程序处于不同的区域设置思路时,所讨论的活动中的string仍然以英语显示 – 即使这些string已被翻译成适当的语言,并且位于应用程序其余部分抓取的相同string文件中string从。 在该活动开始之前,应用程序没问题 – 活动开始后我退出,应用程序恢复为英语区域设置,直到它被杀死并重新启动。 如果该活动从未打开过,则应用程序按预期运行。 有没有人有任何想法可能造成这种情况? 谢谢。

保存/恢复android webview的状态

我有一个简单的webView应用程序,从我们的网站加载一个页面的位置和电话号码,我们的领域人应该访问每一天。 它提供了一个挂钩来启动导航或拨打电话。 从外部活动返回时,应用程序崩溃。 打到手机的主页button,然后拨打电话,然后返回到应用程序工作正常。 这是代码 更新2 – 不再崩溃,webview返回时是空白的 public class VSIMobile_WebView extends Activity { private static String PROVIDER="gps"; private WebView browser; private LocationManager myLocationManager=null; private TelephonyManager myTeleManager = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); browser=(WebView)findViewById(R.id.webview); myLocationManager=(LocationManager)getSystemService(Context.LOCATION_SERVICE); myTeleManager=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); browser.getSettings().setJavaScriptEnabled(true); browser.addJavascriptInterface(new Locater(), "locater"); browser.addJavascriptInterface(new JavaScriptInterface(this), "Android"); if (savedInstanceState!=null){ browser.restoreState(savedInstanceState); }else{ browser.loadUrl("http://zzz.com"); browser.setWebViewClient(new […]

ANR随机使用的应用程序

我有一个VOIP应用程序,引擎部分是C(NDK)级别。随机应用程序的使用我结束了ANR指向“at android.os.MessageQueue.nativePollOnce(Native Method)” 。 使用android-ndk-r5 ANR痕迹: —– pid 13735 at 2013-05-23 15:56:47 —– Cmd line: com.myapp.voip DALVIK THREADS: (mutexes: tll=0 tsl=0 tscl=0 ghl=0) "main" prio=5 tid=1 NATIVE | group="main" sCount=1 dsCount=0 obj=0x41315508 self=0x413058e8 | sysTid=13735 nice=0 sched=0/0 cgrp=apps handle=1074442032 | schedstat=( 23115964360 3706387400 21258 ) utm=1651 stm=660 core=3 #00 pc 0000da70 /system/lib/libc.so (epoll_wait+12) #01 pc […]

Android应用程序更新问题

最近我一直在面对我的Android应用程序更新过程的问题。 简而言之,应用程序能够检查是否在服务器上传了更高版本的代码。 如果是,用户决定是否更新。 之后,该应用程序加载和标准安装开始: final Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File(PATH_TO_APK)), "application/vnd.android.package-archive"); startActivity(intent) 问题是,当Android Intent完成安装,“理论上”活动与信息“应用程序已安装”,2个button“完成”,“打开”。 我写了“理论上”,因为到目前为止,我遇到了以下情况: 应用程序已安装,显示消息“应用程序已安装”的活动显示,用户单击“打开”,但没有任何反应(Android 2.3。*)或应用程序确实打开自己 – 这种行为是随机的。 应用程序已安装,消息“应用程序已安装”的活动显示,但突然消失。 试图绕过这个错误(?)我发现http://developer.android.com/reference/android/content/Intent.html#ACTION_PACKAGE_REPLACED 。 我实施的BroadcastReceiver,开始启动活动,让我们说这是一个合适的解决scheme。 <receiver android:name=\".MyReceiver\" > <intent-filter> <action android:name="android.intent.action.ACTION_PACKAGE_REPLACED" /> //Or from API 12 <action android:name="android.intent.action.ACTION_MY_PACKAGE_REPLACED" /> </intent-filter> </receiver> 这个解决scheme不得不被修改,因为具有较低API(低于12)的应用程序不能处理ACTION_MY_PACKAGE_REPLACED,所以我实现了API依赖的行为: 允许正常安装udpate应用程序,并通过“完成”/“打开”button(API <12)从Activity启动应用程序 在ACTION_MY_PACKAGE_REPLACED注意之后,通过MyReceiver启动更新应用程序。 这是我目前的解决scheme。 我的问题是: 为什么更新后的应用程序在安装后在API低于12的Android中单击“打开”后会随机打开? 为什么使用“完成”/“打开”button的活动在具有更高API的设备上消失? 我试图在安装前完成应用,但没有帮助。 我的解释是,在安装过程之后,一个新的软件包必须覆盖旧的软件包,所以旧的软件包必须被简单地删除,这是导致启动活动消失的主要原因。 正如我写的,这是我目前的解决scheme,我不满意。 如果有人能澄清这个问题,我将非常感激。 谢谢阅读。 编辑: […]

上传导航和保存的实例数据

一个应用程序有2个活动,A和B. A具有保存的实例数据 @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putInt("foo", 0); } 和A有 int bar; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // … if (savedInstanceState != null) { bar = savedInstanceState.getInt("foo"); } else { bar = -1; } } 恢复数据。 活动B已启用操作栏 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getActionBar().setDisplayHomeAsUpEnabled(true); // … } 启用导航。 此外,A在AndroidManifest.xml被列为B的父活动。 当用户从A导航到B […]

Android从纵向活动转换到横向活动时没有animation

我有活动A被设置为肖像方向(在清单中的此活动上设置的android:screenOrientation =“肖像”)运行。 此活动通过单击button打开到活动B. 活动B被设置为以横向方向运行(android:screenOrientation =“landscape”,在清单中的此活动上设置)。 无论我在我的overridePendingTransition方法中设置了什么,都不会有animation。 这总是很难的。 从活动A过渡到活动B时,是否有办法强制某种animation? 另外,当从活动B转换回活动A时,我也遇到同样的问题。 编辑(从Praveen): 即使我已经在configChanges="orientation"了configChanges="orientation" 。 我仍然面临这个问题? 任何想法在这? 提前致谢