Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.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
Android listview名称中出现错误_Android_Listview_Android Listview_Android Sensors - Fatal编程技术网

Android listview名称中出现错误

Android listview名称中出现错误,android,listview,android-listview,android-sensors,Android,Listview,Android Listview,Android Sensors,我试图在我的listview中仅显示传感器的名称。。在日志中,我可以这样做,但在我的listview中,我不能: mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); deviceSensors = mSensorManager.getSensorList(Sensor.TYPE_ALL); for(Sensor s : deviceSensors) { Log.d

我试图在我的listview中仅显示传感器的名称。。在日志中,我可以这样做,但在我的listview中,我不能:

 mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    deviceSensors = mSensorManager.getSensorList(Sensor.TYPE_ALL);

    for(Sensor s : deviceSensors) {
        Log.d("SENSORS", s.getName());
        listView.setAdapter(new ArrayAdapter<Sensor>(this,
                R.layout.customlistview, deviceSensors);
    }
mSensorManager=(SensorManager)getSystemService(Context.SENSOR\u SERVICE);
deviceSensors=msSensorManager.getSensorList(Sensor.TYPE_ALL);
用于(传感器s:设备传感器){
Log.d(“传感器”,s.getName());
setAdapter(新的ArrayAdapter(此,
R.layout.customlistview,设备传感器);
}
通过这种方式,我可以在日志中显示名称。在listview中,会显示有关传感器的所有信息,而不仅仅是名称。如果我尝试使用这种方式:

 mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    deviceSensors = mSensorManager.getSensorList(Sensor.TYPE_ALL);

    for(Sensor s : deviceSensors) {
        Log.d("SENSORS", s.getName());
        listView.setAdapter(new ArrayAdapter<Sensor>(this,
                R.layout.customlistview, s.getName()));
    }
mSensorManager=(SensorManager)getSystemService(Context.SENSOR\u SERVICE);
deviceSensors=msSensorManager.getSensorList(Sensor.TYPE_ALL);
用于(传感器s:设备传感器){
Log.d(“传感器”,s.getName());
setAdapter(新的ArrayAdapter(此,
R.layout.customlistview,s.getName();
}

它在listview中获取错误:
构造函数ArrayAdapter(SensorsActivity,int,String)是未定义的
如何解决?

日志工作,因为您正在打印其中每个传感器的名称。适配器的工作方式不同。整个列表视图需要一个
适配器
。然后,当您想显示多个文本,例如传感器名称和供应商时,您还必须覆盖
getView()
方法。在适配器中处理列表视图中一行的所有设置

让我们从简单的方式开始,仅在列表视图的每一行中输入传感器名称:

mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
deviceSensors = mSensorManager.getSensorList(Sensor.TYPE_ALL);
ArrayAdapter adapter = new ArrayAdapter<String>(this, R.layout.customlistview));
listView.setAdapter(adapter);

for(Sensor s : deviceSensors) {
    Log.d("SENSORS", s.getName());
    adapter.add(s.getName());
}
mSensorManager=(SensorManager)getSystemService(Context.SENSOR\u SERVICE);
deviceSensors=msSensorManager.getSensorList(Sensor.TYPE_ALL);
ArrayAdapter=新的ArrayAdapter(this,R.layout.customlistview));
setAdapter(适配器);
用于(传感器s:设备传感器){
Log.d(“传感器”,s.getName());
adapter.add(s.getName());
}

您的
R.layout.customlistview
必须包含一个用于显示给定字符串(传感器名称)的
TextView

是否要列表中的名称?是的,只有传感器的名称。。可能还有供应商。我认为是
s.getVendor()
。。但我不知道如何..如果您需要供应商和名称,请使用自定义适配器。用于显示名称,请使用arraylist。将名称添加到for循环中的列表中。外部for循环
ArrayAdapter adapter=新的ArrayAdapter不工作..我在
s
中遇到错误。。你能告诉我如何使用我上面发布的代码吗?更新后的代码和错误是什么?好的,这个解决方案是有效的。但是它只显示了一个传感器。。是吗?对不起,我刚才看到了所有的传感器,但列表中只显示了第一项。。我认为原因是列表的高度。。