【问题标题】:how to pass the value of a variable that is created in the class A in class B如何在 B 类中传递在 A 类中创建的变量的值
【发布时间】:2012-09-10 16:39:14
【问题描述】:

我需要将在 A 类中创建的变量的值传递给 B 类。我还是个初学者,不知道如何继续。你能帮我一把吗?

【问题讨论】:

  • 粘贴用于启动 Activity B 的代码。我假设您正在使用意图 - 所以请发布该代码。

标签: java android android-layout android-intent android-widget


【解决方案1】:

请参阅以下 2 个传递字符串值的选项:通过构造函数和通过公共 setter 方法。

class A {
  void method() {
    String s = "test";
    B b = new B(s);
    b.setValue(s);
  }
}

class B {
  private String value;

  B(String val) {
    value = val;
  }

  public void setValue(String val) {
    value = val;
  }
}

【讨论】:

    【解决方案2】:

    要将任何数据从一个页面传递到另一个页面,只需输入这些代码行,这会将您的数据从一个类传递到另一个类。

    Intent itemintent = new Intent(this, ShowDescription.class);
                Bundle b = new Bundle();
                b.putString("feed_type","Your Value");
                itemintent.putExtra("android.intent.extra.INTENT", b);
    
                startActivity(itemintent);
    

    此代码将调用 ShowDescription 类传递“feed_type”变量中的数据。 并且可以通过以下LOC获取showDescription类中的数据

    Bundle b = startingIntent.getBundleExtra("android.intent.extra.INTENT");
    b.getString("feed_type")
    

    更多可以看下面的链接。 http://grabcodes.blogspot.in/2012/08/passing-data-between-two-activities.html

    【讨论】:

      【解决方案3】:

      在 B 类的构造函数中传递值。 如果您的两个类都扩展了 Activity,那么使用意图将数据从一个 Activity 传递到另一个 Activity,就像这样

         Intent mIntent = new Intent (classA.this,yourpackage_name.ClassB.class);
         mIntent.putExtra("YourData",variable_holdding_data);
         startActivity(mIntent);
      

      在activityB oncreatmethod()上,你可以得到它像

               Intent myIntent = new Intent();
                myIntent= getIntent();
                YourData=myIntent7.getStringExtra("YourData");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-11-04
        • 1970-01-01
        • 2019-11-16
        • 2019-10-13
        • 2012-10-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多