获取Android中活动之外的小部件值?

时间:2013-08-29 05:57:07

标签: android android-intent android-activity

在我的主要活动中,有很少的小部件,如编辑文本,textview,spinner。我想在从Activity调用的类中获取这些小部件值。我可以这样做。

从主要活动

调用的不同类中获取所有小部件值
click.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View arg0) {

                //Like these i have few more of what i have to get the values 

                Spinner abc = (Spinner) findViewById(R.id.abc);
                Spinner xyz = (Spinner) findViewById(R.id.xyz);
                Spinner deg = (Spinner) findViewById(R.id.deg);

                //This is my class where i want to access all the widgets values and perform some action on that
                GetValue obj = new GetValue();
                obj.getAllData();

            }
            });

这就是我想要做的事情,请帮助我,我不知道我怎么能这样做。我必须在函数中传递什么值来获取值。谢谢

3 个答案:

答案 0 :(得分:0)

您可以在另一个类的构造函数中传递活动实例/上下文,然后可以使用activity.findViewById(R.id.abc);轻松访问该小部件

喜欢假设你有活动A并且想要打电话给B班

From Activity A:

B b = new B(this);

In Class B:

class B {

private Activity activity;

public B(Activity _activity){
this.actvity = _activity;

}

now access widget with :
activity.findViewById(R.id.abc);

答案 1 :(得分:0)

可能是您可以编写一个界面,它是由您的活动实现的 这样您就可以在活动中对您的小部件执行所有操作,但可以从您的班级调用和输入数据

答案 2 :(得分:0)

创建存储这些窗口小部件值的类对象,然后通过setter和getter在下一个类中获取这些值。

Class Data {
    public String name;
    public String date;
}

来自活动A

Data data = new Data();
edittext = (EditText)findViewById(R.id.abc);
data.setName(edittext.getText());

来自活动B

Data data = new Data();
String name = data.getName();