【问题标题】:Is it possible to somehow start an activity with a given content?是否可以以某种方式启动具有给定内容的活动?
【发布时间】:2012-04-28 19:06:40
【问题描述】:

我必须使用应该启动相同活动的按钮,但使用不同的 XML 文件。 我希望能够做的是这样的事情,来自“main”:

button1: startActivity(new Intent(main.this, next.class, R.layout.xmlfile1)); button2: startActivity(new Intent(main.this, next.class, R.layout.xmlfile2));

我想我可以使用全局变量将 xml-name 保存在应用程序上下文中,但这不会很优雅。

有人知道是否有任何方法可以完成我正在寻找的东西吗?目前我正在创建重复的类文件,这并不是一个真正顺利的方法......

【问题讨论】:

    标签: android android-activity


    【解决方案1】:

    您可以通过在 Intent 上放置额外的数据来将数据传递给活动。 见 Intent 的方法putExtragetIntExtra 和朋友们。

    您输入的整数是 xml 资源 id。 在活动中,您使用 getIntExtra 在活动意图 (getIntent) 上检索 id。

    【讨论】:

    • 这太完美了。谢谢!!
    【解决方案2】:

    假设活动 A 中有一个整数数组:

    int array[] = {1,2,3};
    

    我想将该变量发送到活动 B,因此我创建了一个新意图并使用 putExtra 方法:

    Intent i = new Intent(A.this, B.class);
    i.putExtra("numbers", array);
    startActivity(i);
    

    在活动 B 我得到信息:

    Bundle extras = getIntent().getExtras();
    int[] arrayB = extras.getIntArray("numbers");
    

    【讨论】:

      猜你喜欢
      • 2021-03-26
      • 2012-06-28
      • 1970-01-01
      • 1970-01-01
      • 2015-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多