如何从目标活动中的Bundle数据中检索数据从源活动传递

时间:2012-02-29 17:46:14

标签: android

第一项活动:

    String s="create_newfile";
    Intent i = new Intent("com.monster.android.Showfile");
    Bundle extras = new Bundle();
    extras.putString("task",s);
    i.putExtras(extras);
    startActivity(i);

第二项活动:

    Bundle extras = this.getIntent().getExtras();

    String s = extras.getString("task");

    if (extras!=null && s=="create_newfile")
    {
        setContentView(R.layout.edit);
    }

显示错误!!!

2 个答案:

答案 0 :(得分:4)

您无法将字符串与==进行比较。

您需要使用string1.equals("some_other_string")比较字符串,因此在您的情况下,s.equals("create_newfile")

答案 1 :(得分:1)

  1. “==”逐位比较参考值,而不是该参考引用的值。
  2. “equals()”按值进行比较。虽然等于基础“对象”类的方法使用“==”,但它在大多数类中被覆盖以比较值。
  3. 所以换成这个:

    if (extras!=null && s.equals("create_newfile")
        {
            setContentView(R.layout.edit);
        }