当前位置: 首页 > 知识库问答 >
问题:

如何在Android Studio从不同的活动开始

陶星波
2023-03-14

我使应用程序有两个活动。

  • 2 ExitText(登录名和密码)

第二个:

  • 2 TextView(获取登录名和密码与共享首选项);
  • 按钮(清除共享首选项上的数据,意图优先活动)。

如何下一步:当SharedReferences上有一些数据时-应用程序将从第二个屏幕启动。

例如,我提出:

if(用户!=null

但是,从技术上讲,它首先运行第一个活动,然后再运行第二个活动。若有一些方法可以用另一个活动(不是Main)启动应用程序?

共有3个答案

伏业
2023-03-14

我不确定它是否能工作,因为应用程序必须在第一次活动时启动。第一个活动检查登录并传递共享首选项,然后您可以转到第二个活动

祁博雅
2023-03-14

如果您不希望后面的堆栈上有第一个,您可以在启动第二个堆栈后调用完成()(或者在意图上使用适当的标志)。

另一种方法是,只有一个活动包含多个片段,并动态决定在启动时设置哪一个。使用片段,您还可以在单击按钮或按下后轻松更改布局。

袁单鹗
2023-03-14

在输入一个活动之前,您将无法检查共享首选项中是否有值。

您可以做的是在显示UI之前检查该值(在调用setContentView(R.layout.my_layout)之前),然后继续或开始下一个活动。

public class MyStartActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        SharedPreferences preferences = getSharedPreferences("my_prefs", Context.MODE_PRIVATE);
        if (preferences.contains("my_key")) {
            // start next Activity
        }

        setContentView(R.layout.my_layout);
    }

}
 类似资料:
  • 我已经想从我的Main活动启动我的RecipientFra法规,并从我的Main活动将数据传递到Fra法规。这是我实现的代码。但是碎片没有开始。 我还想知道如何传递intent.set数据,并在碎片中获取数据。目前我有以下代码: 受体片段 主要活动

  • 我正在使用以下项目 https://github.com/akotoe/android-slide-out-menu.git开发滑出菜单应用程序。 如何通过单击幻灯片菜单中的列表在同一视图中运行不同的活动。 例如,如果我单击项目1,我想在一个单独的活动中解析一个XML文件,并将该活动作为子项添加到此父视图中。因为在每一项单击上,我希望解析一个单独的XML文件,并且我希望在一个单独的布局文件中表示解

  • 我有两项活动。我想用第一个活动(如)读卡,第二个活动写卡。因为在发现卡时,活动需要处于活动状态。因此,我对这两项活动都使用了以下设置: 然而,我的问题是,当我在第二个活动中扫描NFC卡时,手机会显示第一个和第二个活动的意向选择器。 那么,当我在第二个活动(反之亦然)中时,如何通过代码禁用第一个活动的intent过滤器? 这是完整的AndroidManifest文件:

  • 问题内容: 示例ViewModel: 主要活动: 我想调用第二个活动并使MainActivity接收更改。那可能吗? 问题答案: 调用时,您实际上创建/保留了绑定到的,因此不同的Activity具有不同的特性,并且每个Activity 使用给定的工厂创建a的不同实例,因此您不能在不同的s中具有相同的a实例。 但是,您可以通过传递自定义ViewModel工厂的单个实例(充当单例工厂)来实现此目的,因

  • 我有两个模块。应用程序和模块测试。模块应用程序包含带按钮的主活动。模块测试包含主要活动二。我想通过点击按钮从模块应用程序运行Test/MainActivity。但Android仍然无法从模块测试中看到主要活动。见下文。 模块应用清单: 模块测试清单: 在模块app MainActivity中为单击按钮和运行第二个活动编码: 在控制台我得到一个错误: 带系统。错误:java。lang.ClassNo

  • 我使用了著名的Dagger ViewModelFactory模式,以便能够为所有活动中的所有视图模型注入工厂。 我遇到的问题是,当我将工厂注入到匕首时失败了,因为我不打算使用的对象的提供者并不总是可访问的。他们不是因为包含提供者的模块没有添加。 例如,我有一个LogIn活动和一个SignUp活动,这是我为它们添加子组件的方式: 请注意,当我为SignUpActivity创建子组件时,我没有添加模块