Articles of android activity

Android从onActivityResult接收值并将其设置为Button

有了这个代码,我可以轻松地插入一些布局。 布局包含一个Button ,我想要启动startActivityForResult 。 现在当我得到结果(文本),我想要设置在Button 。 btnAggiungiCampo.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { PopupMenu popup = new PopupMenu(this, btnAggiungiCampo); popup.getMenuInflater().inflate(R.menu.menu_campi, popup.getMenu()); popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { public boolean onMenuItemClick(MenuItem item) { View child = null; if (item.getTitle().equals(getString(R.string.Text))) { child = getLayoutInflater().inflate(R.layout.inflate_campo, null); rlCampi.addView(child); Button btnGeneraPSW = (Button) child.findViewById(R.id.imageButton3); btnGeneraPSW.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View […]

在onSaveInstanceState()中设置标志以确定onDestroy()中的退出types

对于在线游戏来说,知道一个Android Activity的onDestroy()是否只是被调用是因为Android会重新创build它(例如设备旋转),或者如果用户select退出游戏。 我的计划是当Android可能重新创buildActivity时,在Activity的onSaveInstanceState()设置一个标志: private boolean mDestroyedForReCreation; … protected void onSaveInstanceState() { … mDestroyedForReCreation = true; } 如果你这样做,你可以检查onDestroy() mDestroyedForReCreation : 如果标志设置为(true),请不要将用户从networking游戏中解雇。 如果标志未被设置(假),则将用户从networking游戏中解散,因为他自愿退出游戏。 这是一个正确的方法吗? 如果是的话,build议还是有更好的解决办法? 我希望如此,因为我不太喜欢这个解决scheme。

何时将数据保存到数据库,onPause()或onStop()?

我知道这个问题已经被问了一百万次了,虽然我自己已经知道了答案,而且正确的答案是唯一的保证是onPause(),所以你应该保存你的数据。 然而,在Android文档的许多地方,他们总是build议不要在onPause()方法中做繁重的工作(如在数据库中写入数据),因为它会延迟活动之间的转换。 根据表1中的Android开发者指南 onPause():这个方法通常用来提交未保存的更改到持久数据,停止animation和其他可能消耗CPU的东西,等等。 它应该尽快做它,因为下一个活动将不会恢复,直到它返回。 Killable:是的 然后根据类似的表中的Android开发人员参考指南 。 它说同样的事情,但是: Killable:Pre-HONEYCOMB 他们添加一点点说明: 请注意,这些语义会在针对HONEYCOMB平台的应用程序与针对以前平台的应用程序之间略有改变。 从Honeycomb开始,在onStop()返回之前,应用程序不处于killable状态 。 这会影响onSaveInstanceState(Bundle)的调用(可能会在onPause()之后安全地调用,并允许和应用程序安全地等到onStop()以保存持久状态。 Killable 注意上表中的“Killable”列 – 对于那些标记为可压缩的方法, 在该方法返回之后 ,宿主活动的进程可能随时被系统杀死,而不会执行另一行代码。 对于POST-HONEYCOMB(我不在乎以前的版本):那么,假设任何Android设备(包括不同的ROMS)将确保在onStop上的活动调用是可以的吗? 这是使应用程序的任何时间储存写作的最佳地点? 注意:这是非常混乱的,因为这里的大多数答案,网站,书籍,甚至是在线的androidtesting都是正确的答案,您应该将其保存在onPause而不是onStop中。

在Android中检测到一个活动已closures

在我的应用程序中,我需要启动一个SelectionActivity来select其中一个选项。 一旦select了选项,我需要刷新MainActivity上的另一个列表。 这是我用来启动SelectionActivity的代码: Intent intent = new Intent(MainActivity.this, SelectionActivity.class); startActivity(intent); 在SelectionActivity中,这是接收所选选项的代码,closures活动: selectedValue = adapter.getItem(position); finish(); 现在应用程序返回到MainActivity,但我不知道如何接收SelectionActivity已closures的事件。 谢谢

当内存不足时,Android不会从堆栈中查看活动

我们一直在开发一个具有下拉式仪表板的应用程序,允许用户在整个应用程序中导航。 导航不是很标准,因为这个菜单几乎可以从任何活动访问。 玩了一段时间后,开始使用菜单的活动,堆栈开始增长和成长。 所有这些活动都包含了几个图像浏览的listview,每个大概需要3mb。 如果用户玩的足够多,并且在堆栈上创build超过25个活动,则会发生以下情况: 内存不足错误被抛出(堆增加,直到没有更多的堆)。 显示一个对话框,由于exception(不幸的是,%activity%已经停止。) outofmemerror被扔的活动结束了。 堆栈中的所有活动都已完成,但历史logging保留,所以可以进行备份,每个活动都由操作系统自动重新创build。 我期待系统自动杀死堆栈中最古老的活动BEFRORE OutOfMemoryError被抛出… 为了确保操作系统不会杀死旧的操作,我创build了一个每次分配1mb的testing应用程序。 猜猜是什么:行为是一样的,并引发了exception的错误: 问题是:我们如何告诉Android操作系统,如果需要,可以释放活动和资源,所以我们不会得到“不幸的是,你的活动已经停止”。 对话? 概念validation 包com.gaspar.memorytest; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MemoryTestActivity extends Activity { /** Called when the activity is first created. */ private byte[] mData; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main1); […]

问题与ActionBarActivityDelegate类…应用程序不运行

你好,我希望有人可以帮助我,我打算把我的testing应用程序中的一个操作栏,所以我完全按照开发人员API指南中所述。 但是当我试图编译它会抛出这个错误(logcat): java.lang.ExceptionInInitializerError at android.support.v7.app.ActionBarActivityDelegate.createDelegate() at android.support.v7.app.ActionBarActivity.onCreate()….. ….. Caused by: java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$attr at android.support.v7.app.ActionBarActivityDelegateBase.<clinit> 会发生什么是该应用程序已正确安装到我的手机,但即使它显示任何用户界面之前,它会引发错误,并closures。 我甚至尝试过最简单的应用程序(“你好世界的例子”),并说同样的事情,我在真实的手机和模拟器都尝试过, 任何想法如何解决? 似乎没有类的ActionBarActivityDelegateBase的定义,但我找不到任何参考指南或任何其他网站

如何在多个活动之间保持连接到Android服务?

我有多个活动和一个服务。 在MainActivity我成功地连接到服务(使用实现ServiceConnection + bindService() + startService() )的类,但是当我尝试在其他活动中应用相同的方法时,我在LogCat中看到一个错误: 01-15 22:29:37.438: ERROR/ActivityThread(12206): android.app.ServiceConnectionLeaked: Activity com.app.liviu.simpleMusicPlayer.PlaylistActivity has leaked ServiceConnection com.app.liviu.simpleMusicPlayer.PlaylistActivity$CounterServiceConnection@43713c90 that was originally bound here. 是否有可能以另一种方式连接到一个服务:像在MainActivity中使静态我的CounterServiceConnection对象,并在第二个使用它?

如何在android中find当前的前台活动

有没有可能findandroid.I当前的前台活动我没有使用ActivityGroup。

清除静态数据onDestroy()

在我的应用程序中,有一个类声明了一些staticvariables。 问题是所有variables的值在应用程序被销毁时不会被重置。 有什么办法来重置所有的应用程序被破坏时,所有的静态variables的值除了单独重置在onDestroy() ?

使用onResume方法重新启动活动

我想用onResume()方法重新开始活动。 我以为我可以用一个意图来实现这个目标,但是这个目标是无止境的。 @Override protected void onResume() { Intent intent = new Intent(MainActivity.this, MainActivity.class); MainActivity.this.startActivity(intent); finish(); super.onResume(); } 有另一种重新开始活动的方法吗?