Questions tagged «android-activity»

有关在Android中创建或管理“活动”的问题。在Android应用程序中,活动是提供用户界面的组件,允许用户执行某些操作。简单的例子是:拨打电话,拍照,发送电子邮件或查看地图。

5
分割还是不分割-针对活动的嵌套片段。为什么要使用多个活动?
关于是否应使用Activities还是使用了很多讨论Fragments。例如: 片段化或非片段化 一个活动和所有其他片段 多少活动与片段 在Android应用程序中使用活动或片段 我发现的大多数讨论都是在Android 4.2之前发布的。 Google借助Android 4.2发明了嵌套片段。 因此,我实际上再也看不到任何理由使用多个 Activity。 在初期,Fragments它们应该在Apps中用于支持Tablets和舒适地同时智能手机。 因此,例如,您有一个ListView可以打开View有关单击项目的详细信息。在智能手机上,我们将替换ListView并显示详细信息View。而平板电脑,而不是与详细信息视图替换列表可以同时显示Views在同一时间。 现在有了嵌套,Fragments还有许多其他可能性。如果您要使用单个Activity,可以将常规信息存储在Activity,每个Fragment人都可以访问它。 除此之外,Fragments谁筑巢Fragments人还可以为他们的孩子存储信息Fragments。 有了Fragments我可以轻松地重用的方式Views,我可以同时显示多个内容,并且可以轻松地Fragment从一个对话框中形成一个对话框。Fragment。这一切可能只需要我执行一些复制和粘贴操作。 如果我Activities改用了,我必须认真地进行很多更改以完成此操作。 我最近实现了一个应用程序,在其中我可以轻松地使用两个应用程序Fragment-ViewPager使事情变得真正美丽和动态(某种形式:今天的信息-昨天的信息)。我认为Fragments让我们的生活更轻松:) 问题: 为什么要使用多个Activity? 您能否提供一个很好的示例,在其中使用多次Activities而不是使用更有意义Fragments? 有什么好的例子,您别无选择,只能使用Activities吗? 我认为大多数较大的框架(如Maps,YouTube和co)都已支持Fragments。因此,我们不必依赖Activities。也就是它很容易对付NavigationBar,TabHosts,ViewPager,ActionBar如果你使用Fragments。 从Udacity: 为什么不总是创建一个带有很多片段的活动? 复杂性增加 更难的意图处理 难以阅读,维护和测试 紧密耦合的风险 安全问题



8
如何在适配器中启动Activity?
我有一个带有自定义适配器的ListActivity,并且在每个视图内部,它可能都有一些按钮需要在其中实现OnClickListener。我需要OnClickListener在适配器中实现。但是,我不知道如何像startActivity()或那样调用函数setResult()。由于适配器不会扩展到活动。 那么解决这个问题的最佳方法是什么? 谢谢。


5
使用navigationUpFromSameTask()从活动返回
我有两个活动A和B。第一次启动活动A时,它访问Intent传递给它的内容(因为Bundleis null,因为它应该是第一次通过),并相应地显示信息: CustInfo m_custInfo; ... protected void onCreate(Bundle savedInstanceState) { ... Bundle bundle = (savedInstanceState == null) ? getIntent().getExtras() : savedInstanceState; m_custInfo = (CustInfo) m_bundle.getSerializable("CustInfo"); if (m_custInfo != null ... } 第一次运行正常。该EditText控制和ListView正确地填写。 现在,单击列表中的项目时,活动B开始显示详细信息: m_custInfo = m_arrCustomers.get(pos); Intent intent = new Intent(A.this, B.class); intent.putExtra("CustInfo", m_custInfo); // CustInfo is serializable // printing …

3
使用Intent.putExtra发送数组
我在活动A中有一个整数数组: int array[] = {1,2,3}; 我想将该变量发送到活动B,所以我创建了一个新的Intent并使用putExtra方法: Intent i = new Intent(A.this, B.class); i.putExtra("numbers", array); startActivity(i); 在活动BI中获取信息: Bundle extras = getIntent().getExtras(); int arrayB = extras.getInt("numbers"); 但这不是真正发送数组,我只是在arrayB上获得了值“ 0”。我一直在寻找一些例子,但没有发现任何事。

3
在onReceive BroadcastReceiver内部启动活动
我想用我的onReceive()方法开始一项活动。 package com.splashscreenactivity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.telephony.SmsMessage; import android.widget.Toast; public class SMSReceiver extends BroadcastReceiver { public static String trigger_message = ""; @Override public void onReceive(Context context, Intent intent) { // ---get the SMS message passed in--- Bundle bundle = intent.getExtras(); SmsMessage[] msgs = null; …

4
android如何创建自己的Activity并进行扩展?
我需要创建一个扩展的基类,该基类可以Activity在应用程序中执行一些常见任务,并通过以下形式扩展我的活动: 公共BaseActivity扩展了活动{....} 公共SubActivity扩展了BaseActivity {...} 在SubActivity中,我需要给在BaseActivity中定义的一些变量和UI组件赋值,我可能需要根据一些标志值为SubActivity定义不同的布局,也(在SubActivity中)我想执行在BaseActivity中定义的asyncTask。 这可能吗?如果是,是否有任何教程可以帮助您?先感谢您

1
什么是ViewModelStore和viewModelStoreOwner?
由于这个新的ViewModelProvider api,我非常困惑(不推荐使用ViewModelProviders) 与新更改一样,也有新的构造函数(源代码)。 #1 public ViewModelProvider(@NonNull ViewModelStoreOwner owner) { this(owner.getViewModelStore(), owner instanceof HasDefaultViewModelProviderFactory ? ((HasDefaultViewModelProviderFactory) owner).getDefaultViewModelProviderFactory() : NewInstanceFactory.getInstance()); } #2 public ViewModelProvider(@NonNull ViewModelStoreOwner owner, @NonNull Factory factory) { this(owner.getViewModelStore(), factory); } #3 public ViewModelProvider(@NonNull ViewModelStore store, @NonNull Factory factory) { mFactory = factory; mViewModelStore = store; } 摇篮依赖度: implementation "androidx.lifecycle:lifecycle-extensions:2.2.0-rc02" …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.