Java 如何使用列表在ListView中设置数据<;对象>;在android中
我在ListView中添加了一些虚拟数据,如下所示Java 如何使用列表在ListView中设置数据<;对象>;在android中,java,android,listview,Java,Android,Listview,我在ListView中添加了一些虚拟数据,如下所示 List<String> sevenDay; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragm
List<String> sevenDay;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
String[] forecastList = {
"Today",
"Tomorrow",
"The day after Tomorrow"
};
sevenDay = new ArrayList<>(Arrays.asList(forecastList));
ArrayAdapter<String> forecasteAdapter;
forecasteAdapter = new ArrayAdapter<String>(
getActivity(),
R.layout.list_item_forecast,
R.id.list_item_forecast_textView,
sevenDay);
ListView forecasteListView = (ListView) rootView.findViewById(R.id.listView_forecast);
forecasteListView.setAdapter(forecasteAdapter);
new FetchWeatherTask().execute("SomeThing",null,null);
return rootView ;
}
这里我需要从ForecastWeather的java.util.List列表中获取值,但不知道如何将该对象转换为字符串?您可以在
ForecastWeather
中创建一个函数,该函数将列表
转换为字符串的列表
public class ForecastWeather {
private String cod;
private String message;
private Integer cnt;
private City city;
private java.util.List<SomeObject> list = new ArrayList<SomeObject>();
public List<String> getAsStringList(){
List<String> l=new ArrayList<>();
for(SomeObject someObject:list){
//You can override the toString() function of SomeObject class
l.add(someObject.toString());
}
return l;
}
}
}
然后在onPostExecute
@Override
protected void onPostExecute(ForecastWeather forecastWeather) {
super.onPostExecute(forecastWeather);
sevenDay = forecastWeather.getAsStringList(); // getting a string list
}
在天气预报课上,宣布:
@Override
public String toString() {
// TODO Auto-generated method stub
return city;
}
只是错过了,谢谢你的快速和宝贵的帮助。
public class ForecastWeather {
private String cod;
private String message;
private Integer cnt;
private City city;
private java.util.List<SomeObject> list = new ArrayList<SomeObject>();
public List<String> getAsStringList(){
List<String> l=new ArrayList<>();
for(SomeObject someObject:list){
//You can override the toString() function of SomeObject class
l.add(someObject.toString());
}
return l;
}
}
public class SomeObject {
//class definition etc
//override this method
@Override
public String toString() {
// put your logic to get a string for the given object. this depends upon you implementation
return "dummy";
}
@Override
protected void onPostExecute(ForecastWeather forecastWeather) {
super.onPostExecute(forecastWeather);
sevenDay = forecastWeather.getAsStringList(); // getting a string list
}
@Override
public String toString() {
// TODO Auto-generated method stub
return city;
}