activity之间通过单例类传递控件id
时间: 2023-11-10 15:05:54 浏览: 34
单例类可以通过持有控件id的变量来传递控件id。在第一个activity中,将控件id传递给单例类的变量,然后在第二个activity中,可以通过访问同一个单例类的变量来获取控件id。例如:
在第一个activity中:
```
public class FirstActivity extends AppCompatActivity {
private static final String TAG = "FirstActivity";
private Button mButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
mButton = findViewById(R.id.button);
// 将控件id传递给单例类
MySingleton.getInstance().setButtonId(mButton.getId());
// 启动第二个activity
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
}
}
```
在单例类中:
```
public class MySingleton {
private static final MySingleton INSTANCE = new MySingleton();
private int mButtonId;
private MySingleton() {}
public static MySingleton getInstance() {
return INSTANCE;
}
public void setButtonId(int buttonId) {
mButtonId = buttonId;
}
public int getButtonId() {
return mButtonId;
}
}
```
在第二个activity中:
```
public class SecondActivity extends AppCompatActivity {
private static final String TAG = "SecondActivity";
private Button mButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
// 从单例类中获取控件id
int buttonId = MySingleton.getInstance().getButtonId();
mButton = findViewById(buttonId);
// 设置按钮的文本
mButton.setText("Hello World");
}
}
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)