0

在我的主要活动中,有几个小部件,如编辑文本、文本视图、微调器。我想在从 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();

            }
            });

这是我想做的事情,请帮助我,我不明白我怎么能这样做。我必须在函数中传递什么值才能获取值。谢谢

4

3 回答 3

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);
于 2013-08-29T06:12:27.757 回答
0

可能是您可以编写一个接口并由您的活动实现,以便您可以在活动本身中对小部件执行所有操作,但从您的类调用和输入数据

于 2013-08-29T06:12:49.990 回答
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();
于 2013-08-29T06:16:12.520 回答