android 如何跨好多类 调用别的View的对象
时间: 2023-12-01 10:02:30 浏览: 30
在 Android 中,可以通过以下两种方式在不同的类之间调用 View 的对象:
1. 将 View 对象传递给其他类:
在一个类中获取到 View 对象之后,可以将其传递给其他类,让其他类也可以访问该 View 对象。例如,在 Activity A 中获取到布局文件中的 TextView 对象,然后将其传递给 Activity B,从而在 Activity B 中也可以访问该 TextView 对象。
示例代码:
在 Activity A 中:
```
TextView textView = findViewById(R.id.text_view);
ActivityB activityB = new ActivityB();
activityB.setTextView(textView);
```
在 Activity B 中:
```
public class ActivityB extends AppCompatActivity {
private TextView mTextView;
public void setTextView(TextView textView) {
mTextView = textView;
}
// 在这里可以访问 mTextView 对象
}
```
2. 通过静态变量来访问 View 对象:
可以在一个类中定义一个静态变量,然后在其他类中访问该静态变量,从而获取到该类中的 View 对象。例如,在 Activity A 中获取到布局文件中的 TextView 对象,然后在 Activity B 中访问 Activity A 中定义的静态变量,从而获取到该 TextView 对象。
示例代码:
在 Activity A 中:
```
public static TextView sTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_a);
sTextView = findViewById(R.id.text_view);
}
```
在 Activity B 中:
```
TextView textView = ActivityA.sTextView;
```
通过以上两种方式,可以在不同的类之间访问 View 对象。但是,需要注意的是,过多地跨类访问 View 对象可能会导致代码耦合性增加,建议在设计应用架构时尽量避免过多地跨类访问 View 对象。