protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_setting); } @Override public void showData(String data,ActivitySetting activitySetting) { System.out.println("设置页面收到数据了!!!"); findViewById(R.id.data1111); }在页面中这样一段代码,提示我Attempt to invoke virtual method 'android.view.View android.view.Window.findViewById(int)' on a null object reference,如何在接口showData中获取并操作当前页面的控件呢
时间: 2024-04-18 16:30:49 浏览: 13
在接口 `showData()` 中,你无法直接操作当前页面的控件,因为接口是在 `ActivitySetting` 之外的地方实现的。但你可以通过传递 `ActivitySetting` 的实例给接口方法,并在方法中使用该实例来操作控件。
以下是修改后的代码示例:
```java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_setting);
}
@Override
public void showData(String data, ActivitySetting activitySetting) {
System.out.println("设置页面收到数据了!!!");
activitySetting.findViewById(R.id.data1111);
}
```
在调用 `showData()` 方法时,传递当前 `ActivitySetting` 的实例作为参数。然后,在方法内部使用该实例调用 `findViewById()` 方法来获取并操作控件。
请确保在调用 `showData()` 方法时,传递的 `ActivitySetting` 实例是有效的(非空),否则仍然可能出现空对象引用的错误。
相关问题
public class Activity2 extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_2);
这段代码是一个 Android 应用程序中的 Activity 类。Activity 是 Android 应用程序中的一个基本组件,它提供了用户界面,允许用户与应用程序进行交互。在这段代码中,Activity2 类继承自 AppCompatActivity 类,并覆盖了 onCreate() 方法。在 onCreate() 方法中,首先调用了父类的 onCreate() 方法,然后调用了 setContentView() 方法,用于设置该 Activity 的布局文件为 activity_2.xml。该布局文件将确定该 Activity 的用户界面。
帮我标注一下这个JAVA代码public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
public class MainActivity extends AppCompatActivity { // 定义一个名为MainActivity的类,继承自AppCompatActivity类
@Override
protected void onCreate(Bundle savedInstanceState) { // 重写AppCompatActivity中的onCreate方法
super.onCreate(savedInstanceState); // 调用父类的onCreate方法
setContentView(R.layout.activity_main); // 设置当前Activity使用的布局文件为activity_main.xml
}
}