在我的主要活动中,有很少的小部件,如编辑文本,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();
}
});
这就是我想要做的事情,请帮助我,我不知道我怎么能这样做。我必须在函数中传递什么值来获取值。谢谢
答案 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();