Articles of android activity

如何使用意图更新活动?

我有一个正在下载文件的服务。 下载完成后,我想在我的Activity更新我的“已下载文件”列表,但仅在Activity正在运行时。 如果Activity尚未运行,我不希望它启动。 我希望通过制作一个带有特殊标志的新Intent来做到这一点。 任何人都知道我怎么能做到这一点? 一个很小的代码示例可能?

具有ActionBarActivity的ActivityUnitTestCase和startActivity

我尝试测试一个使用ActionBarActivity的Activity(来自appcompat库)。 我需要一个自定义应用程序才能操作DI系统来加载我的测试服务而不是真正的服务。 如果我编写了测试并调用startActivity,则会出现以下错误: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. 如果我调用launchActivityWithIntent,Activity会启动而没有任何问题,但它使用的是我的Real Application类而不是Mocked Application类。 任何想法如何解决这个问题或如何在应用程序的onCreate之后执行代码,但是在我的仪器测试中调用onCreate of my Activity之前?

为什么可运行的回调会自动销毁活动?

我想知道我们是否有可能在android上处理/检测带延迟的可运行回调( postDelayed方法)? 例如,我有一个或几个splashscreen(在我的应用程序上运行handler.postDelayed(new Runnable()… )(用于测试目的的应用程序)。在这个应用程序中我还有一个库(我正在创建和使用它)它在应用程序中)和一些在IntentService类上运行的类。 有时,当应用程序运行那些splashscreen活动(用于Testing purpose )时,我正在创建的库可能会在UI中自动popup一些活动。 但似乎如果这些活动出现在splashscreen活动并且splashscreen被破坏,那些活动(自动popup)也将被破坏并在logcat中记录“泄露的窗口”消息。 问题是: 不应自动关闭UI中自动显示的那些活动,这是禁止的。 它需要用户进行交互以关闭该活动并返回应用程序的正常行为。 此外,该库对应用程序的UI一无所知。 所以我的问题是(相对于我正在创建的库方面而没有UI应用程序流的信息): 有没有办法检测是否在相对于库方面的应用程序中创建了一些postDelayed方法? 如果是,我该如何处理这个问题呢? PS:请注意,通常情况下,我正在使用一个Dialog来自动显示假设的Activity。 UPDATE 图解说明: 现在我有一个正在执行Splashscreen的案例。 扩展IntentService类的类已收到来自Internet的请求,该请求将启动一个Activity 。 同时,启animation面在后postdelayed ,其他活动已创建并在UI中显示。 当X秒已经过去且另一个Activity未被销毁时,将创建Next Activity并自动销毁另一个Activity 。 在这样做时,Android会相对于Activity抛出“泄露的窗口”消息。

Android从另一个类调用方法

我知道这个问题是重复的,但我在互联网上找不到答案。 我想从另一个类调用一个方法。 我有Class1和Class2。 在第2课我有那种方法: public void UpdateEmployee(){ //some code } 我想从Class1调用该方法。 谢谢你的回答。 – – 编辑 – – final Button btnUpdate = (Button)findViewById(R.id.btnUpd); btnUpdate.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Employee updEmple = new Employee(); updEmple.UpdateEmployee(); } }); —- logcat的— 05-28 16:30:44.030: E/AndroidRuntime(25198): FATAL EXCEPTION: main 05-28 16:30:44.030: E/AndroidRuntime(25198): java.lang.NullPointerException: println needs a message 05-28 […]

如何在Android中添加第二个活动

嘿大家! 我试图在我的android项目中添加第二个活动,但我不确定如何准确添加活动文件? 我在这里添加了一个类“Name / Scr / PackageName / MyClassHere”,但我不确定是否正确的做或放置它,因为还没有XML文件。 我使用此代码打开一个新屏幕, http://learnandroid.blogspot.com/2008/01/opening-new-screen-in-android.html我得到2个错误。 1在运行时此行: Intent i = new Intent(Coinparison.this, ResultsScreen.class); 它说它无法find我的活动。 而这里的另一个错误是setContentView(R.layout.ResultsScreen); 其中说“ResultsScreen”无法解决。 不确定什么是错的,但任何帮助都很棒! 🙂

片段布局的布局

假设我有几个片段 : public class FirstFragment extends Fragment { … } public class SecondFragment extends Fragment { … } public class ThirdFragment extends Fragment { … } 我还有一个主要活动 ,其内容是( main.xml ): 我的问题是,在上面的布局文件中,我如何定义一个片段占位符而不指定在这里显示哪个片段,然后在My Activity java代码中 ,将一个合适的片段膨胀到占位符? 有可能,怎么做?

如何在Android Activity中实现“记住我”function?

我有一个用户名,密码和checkbox(在文本旁边’记住我’)。 如何实现记住我的function来保存用户名和密码数据? 任何帮助,将不胜感激。

摆脱全屏活动的不必要的根布局

如何摆脱全屏活动的不必要的根布局? 我有一个简单的全屏活动。 布局检查器显示Android提供的大型根布局层次结构,我不需要全屏显示。 <img src="http://img.androidcookie.com/android/WW2Ob.png" alt="工具> Android>布局检查器“> 我可以摆脱它们吗? 如果是,怎么样? 如果不是,为什么不呢? 测试设置 打开Android Studio。 创建一个新项目。 接受默认设置。 选择“空活动”。 你得到这个清单: 你得到这个layout/activity_main.xml : 调用Tools > Android > Layout Inspector以查看生成的根模板。 要使其全屏,只需在布局中向TextView添加一个id HelloWorld并更新MainActivity.java : public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView layout = findViewById(R.id.HelloWorld); layout.setSystemUiVisibility( View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | […]

Android:静态字段和内存泄漏

我一直在研究在创建视图时防止上下文/活动内存泄漏的最佳实践,而且我似乎无法find关于类中静态字段允许或不允许的内容的明确答案。 假设我有这种forms的代码: public class MyOuterClass extends Activity{ private MyInnerClass; MyInnerClass = (MyInnerClass) findViewById(); MyInnerClass.myXInt = 3; // onCreate(), onResume(), etc. public static class MyInnerClass extends SurfaceView implements Runnable{ // Safe variables? private static int myXInt, myYInt; private static boolean myBoolean; // Potentially safe? private static Canvas myCanvas; // Definitely bad. private static Context myContext; public […]

android – 如何关闭按钮点击活动?

我想要一个按钮点击关闭一个活动。 我是新手,有点困惑。 这是ActivityOne ,它记录生命周期。 按下按钮,它会打开ActivityTwo并将ActivityOne放在后台。 当我在onClickListener使用此intent时,这很好用: Intent myIntent = new Intent(ActivityOne.this, ActivityTwo.class); ActivityOne.this.startActivity(myIntent); 在ActivityTwo我需要使用intents和finish()方法来关闭活动。 我试图谷歌它,我认为这可能有效: Intent myIntent2 = new Intent(getApplicationContext(), ActivityTwo.class); ActivityTwo.this.finish(myIntent2); 它没有工作完整的代码如下: public class ActivityOne extends Activity { // … @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_one); // … Button launchActivityTwoButton = (Button) findViewById(R.id.bLaunchActivityTwo); launchActivityTwoButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { […]