android将数据从类传递给活动

时间:2014-10-21 08:42:40

标签: android class android-activity

我一直在寻找一种将数据(字符串类型)从类传递给活动的简单方法。

我找到了一些关于将数据从活动传递到类的教程,但是可以做相反的事情,将数据从类传递给活动吗?

4 个答案:

答案 0 :(得分:1)

如果您在活动中导入该类(顺便说一下,这也是一个类),您可以轻松访问类属性。

示例:MyClass.java

package edu.user.yourappname;

public class MyClass {

  public string infoToPass = "whatever";

}

MyActivity.java

package edu.user.yourappname;
import edu.user.yourappname.MyClass

public class MyActivity extends Activity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_my);

  String myString = MyClass.infoToPass;

  }

}

我没有IDE在atm中键入它可能包含一些错误:S但我希望你能得到这个想法。 如果您需要更具体的帮助,您必须提供代码示例。 另外,你想要达到什么目的? maybie那里有不同的方法。

喝彩!

答案 1 :(得分:0)

创建界面并在您的活动中实施。在您的类中传递活动实例,并随时使用interface方法调用该实例。

答案 2 :(得分:0)

更清楚的是,创建一个界面并按如下方式使用它:

public interface SomeInterface{
    public void passValue(String value);
}

public SomeActivity extends Activity implements SomeInterface{

    // place any code you want in your activity, onCreate, onResume, etc.

    private void someMethod(){
         // Wherever in your activity, initialize your class with your activity.
         SomeClass someClass = new SomeClass(this);
         someClass.someMethod();
    }

    public void passValue(String value){
         // do whatever you want with your value
    }

}

public class SomeClass{

    private SomeInterface someInterfaceInstance;

    public SomeClass(SomeInterface someInterfaceInstance){
        this.someInterfaceInstance = someInterfaceInstance;
    }

    public void someMethod(){

        // Some code...

        someInterfaceInstance.passValue("Hello World!");

        // Some more code...
    }
}

答案 3 :(得分:0)

这是一种简单的方法 -

通过定义静态变量

在你的班级中,使你想要传递的值为public static的字符串 -

public static String pass;

然后在你的活动中,你可以直接访问它,因为它是一个像这样的公共变量 -

String receive = className.pass;