Java 无法访问同一活动中子类中的超类的数据成员
我已经创建了一个名为ShowPairedDevices.java的活动,其中我有一个名为ShowPairedDevices的超级类来显示所有蓝牙配对设备。 然后,我在扩展ShowPairedDevices的同一活动中创建了另一个名为Demo的类Java 无法访问同一活动中子类中的超类的数据成员,java,android,Java,Android,我已经创建了一个名为ShowPairedDevices.java的活动,其中我有一个名为ShowPairedDevices的超级类来显示所有蓝牙配对设备。 然后,我在扩展ShowPairedDevices的同一活动中创建了另一个名为Demo的类 public class ShowPairedDevices extends AppCompatActivity { ArrayList<String> pairedDevicesList = new ArrayList<>();
public class ShowPairedDevices extends AppCompatActivity {
ArrayList<String> pairedDevicesList = new ArrayList<>();
public static ArrayAdapter<String> storePairedDevices;
BluetoothAdapter myBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_paired_devices);
ListView myListView = (ListView) findViewById(R.id.listview);
Set<BluetoothDevice> pairedDevices = myBluetoothAdapter.getBondedDevices();
for(BluetoothDevice device : pairedDevices){
pairedDevicesList.add(device.getName());
}
storePairedDevices = new ArrayAdapter< (this,android.R.layout.simple_list_item_1,pairedDevicesList);
myListView.setAdapter(storePairedDevices);
}
“演示”类毫无意义
您不能简单地访问类范围中的变量。将其包装到函数中,或重写当前函数并访问如下数据:
public class Demo extends ShowPairedDevices {
@Override
protected void onCreate(Bundle savedInstanceState) {
pairedDevicesList.add("another device name");
}
}
我猜你把你的孩子放在不同的ShowPairedDevices类包中 在这种情况下,必须对ArrayList PairedDeviceList使用受保护的关键字。这在Java中称为访问修饰符。此处提供有用的链接
在某些情况下,您需要此实现来重用变量或函数。非常感谢您。
public class Demo extends ShowPairedDevices {
@Override
protected void onCreate(Bundle savedInstanceState) {
pairedDevicesList.add("another device name");
}
}