Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法访问同一活动中子类中的超类的数据成员_Java_Android - Fatal编程技术网

Java 无法访问同一活动中子类中的超类的数据成员

Java 无法访问同一活动中子类中的超类的数据成员,java,android,Java,Android,我已经创建了一个名为ShowPairedDevices.java的活动,其中我有一个名为ShowPairedDevices的超级类来显示所有蓝牙配对设备。 然后,我在扩展ShowPairedDevices的同一活动中创建了另一个名为Demo的类 public class ShowPairedDevices extends AppCompatActivity { ArrayList<String> pairedDevicesList = new ArrayList<>();

我已经创建了一个名为ShowPairedDevices.java的活动,其中我有一个名为ShowPairedDevices的超级类来显示所有蓝牙配对设备。 然后,我在扩展ShowPairedDevices的同一活动中创建了另一个名为Demo的类

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");
    }
}