【问题标题】:how to call an activity by clicking the menu in android?如何通过单击android中的菜单来调用活动?
【发布时间】:2012-01-17 08:01:53
【问题描述】:

我的主要活动称为OverallActivity。这里我写了一个代码来添加菜单,通过选择我想在另一个活动中执行一个动作的菜单。 例如:主要活动:OverallActiviry 菜单:Action1 和 Action2 如果我单击 action1 它必须调用 subActivity1 之一。如果我按下 Action2,它会调用另一个活动(subActivity2),在那个 subActivity2 中我想设置 Listview 以显示 subActivity1 返回的数组(string()值。如果有人知道请回复我。提前致谢。

【问题讨论】:

    标签: android android-intent


    【解决方案1】:

    起初我误解了你的问题,所以现在在这里更正一下:

    要启动一项活动,请使用来自 TofeeqAhmad 的代码中的 Shashank Kadne 的代码。

    要将数据传递给subActivity2,您可以将其他数据添加到打开活动的意图中,在您的情况下,是CharSequence 项目的数组:

    CharSequence[] sequences = ...;
    intent.putExtra("resultsFromActivity1", sequences);
    

    然后,在您的活动的onCreate 处理程序中,您可以检查意图是否包含额外的命名“操作”及其值:

    CharSequence[] items = itent.getCharSequenceExtra("resultsFromActivity1");
    if (items != null)
    {
        // Display the items
    }
    

    【讨论】:

    • 谢谢 这和我的预期一样。
    • "java.lang.RuntimeException: 无法实例化活动 ComponentInfo{com.aspiresys.socialapp/com.aspiresys.socialapp.ActivityTwo}: java.lang.NullPointerException" 它显示了这样的错误。我想对清单文件进行任何更改吗
    • 如果没有完整的堆栈跟踪和错误消息,我无法判断。我不知道null是哪个元素。
    • 很抱歉给您带来不便。我错误地在 onCreat() 之前声明了 Listview。这就是问题所在。
    【解决方案2】:

    重写此方法----

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
    case R.id.new_game:
       // start activty here
        return true;
    case R.id.help:
      // start activty here
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
    

    }

    【讨论】:

    【解决方案3】:

    【讨论】:

      【解决方案4】:

      使用意图。传递要调用的Activity的类。

      在监听器中添加以下行以调用 subActivity1

      Intent i = new Intent(OverallActiviry.this,subActivity1.class)
      startActivity(i);
      

      【讨论】:

        猜你喜欢
        • 2017-03-23
        • 1970-01-01
        • 2020-12-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-25
        • 1970-01-01
        相关资源
        最近更新 更多