使用自定义ArrayAdapter自定义Android ListView项
我浏览了以下示例: 这是一个定制的Android使用自定义ArrayAdapter自定义Android ListView项,android,Android,我浏览了以下示例: 这是一个定制的Android列表视图项目,带有定制阵列适配器。 一切都是静态的,但我不能动态地理解: Weather weather_data[] = new Weather[] { new Weather(R.drawable.weather_cloudy, "Cloudy"), new Weather(R.drawable.weather_showers, "Showers"), new Weather(R.dr
列表视图
项目,带有定制阵列适配器
。
一切都是静态的,但我不能动态地理解:
Weather weather_data[] = new Weather[]
{
new Weather(R.drawable.weather_cloudy, "Cloudy"),
new Weather(R.drawable.weather_showers, "Showers"),
new Weather(R.drawable.weather_snow, "Snow"),
new Weather(R.drawable.weather_storm, "Storm"),
new Weather(R.drawable.weather_sunny, "Sunny")
};
对于动态数据,它表示:
Weather weather_data[] = youservice.GetWeatherData();
你能举例说明一下如何实现
youservice.GetWeatherData()代码>
我已经尝试了很多东西,但不要尝试。示例很好。获取阵列后,只需将其传递给自定义列表视图适配器
private ListView mCustomListView;
CustomListViewAdapter adapter = new CustomListViewAdapter(context, weather_data);
mCustomListView.setAdapter(adapter);
mCustomListView.requestFocus();
适配器必须完成其余的工作。
如果你想实现youservice.GetWeatherData(),你需要把你的问题分成小块。例如:-如何创建RESTWeb服务,-如何建立http连接并发送“get”请求,-如何解析响应流
编辑1
您不需要替换数组中的数据,而是读取Json并创建新数组,然后将其传递给适配器
List<WeatherItem> weatherList = getWeatherFromJson();
weather_data = new Weather[weatherList.size()];
weather_data = weatherList.toArray(weather_data );
List weatherList=getWeatherFromJson();
weather_data=新天气[weatherList.size()];
天气数据=天气列表.toArray(天气数据);
//从上面
CustomListViewAdapter=新的CustomListViewAdapter(上下文、天气数据);
..我刚找到一个方法:
Weather weather_data[] = new Weather[6] ;
for (int i= 0; i < 6; i++){
weather_data[i] = new Weather("A","B");
}
Weather_data[]=新天气[6];
对于(int i=0;i<6;i++){
天气数据[i]=新天气(“A”、“B”);
}
Tnx的答案,但我想你不明白我的问题。我需要用通过Json从web上获取的数据替换每个新天气(R.drawable.Weather_cloudy,“cloudy”)等。因此,必须删除所有固定设置并填充动态内容。Weather Weather_data[]=new Weather[]{这里动态地显示每个new Weather()}这不是android问题,而是Java概念问题。您应该阅读Json解析器<代码>youservice.GetWeatherData()
是一个简单的函数,用于为适配器返回正确格式的输入数据。在您的例子中,它返回一个天气
数组。动态的远远不是简单的答案。提供输入数据的方法太多了。