学习参考资源:https://www.gitbook.com/book/zhangqx/mini-weather/details
前面我们已经设置好了基本的界面,获取了网络上的天气数据并解析出来了,接下来,我们要将界面上胡乱写的天气数据更新为实时获取的真实的天气数据。
1)初始化界面
1.定义组件对应的变量
2.编写initView()方法
前面我们已经在main.xml中定义了布局,这里我们可以直接通过findViewById的方法将变量与组件绑定好,并设置初值。
initView()函数如下:
void initView()
{
//title
cityNameT = (TextView)findViewById(R.id.title_city_name);
//today weather
cityT = (TextView)findViewById(R.id.todayinfo1_cityName);
timeT = (TextView)findViewById(R.id.todayinfo1_updateTime);
humidityT = (TextView)findViewById(R.id.todayinfo1_humidity);
weekT = (TextView)findViewById(R.id.todayinfo2_week);
pmDataT = (TextView)findViewById(R.id.todayinfo1_pm25);
pmQualityT = (TextView)findViewById(R.id.todayinfo1_pm25status);
temperatureT = (TextView)findViewById(R.id.todayinfo2_temperature);
climateT = (TextView)findViewById(R.id.todayinfo2_weatherState);
windT = (TextView)findViewById(R.id.todayinfo2_wind);
weatherStateImg = (ImageView)findViewById(R.id.todayinfo2_weatherStatusImg);
pmStateImg = (ImageView)findViewById(R.id.todayinfo1_pm25img);
cityNameT.setText("N/A");
cityT.setText("N/A");
timeT.setText("N/A");
humidityT.setText("N/A");
weekT.setText("N/A");
pmDataT.setText("N/A");
pmQualityT.setText("N/A");
temperatureT.setText("N/A");
climateT.setText("N/A");
windT.setText("N/A");
}
在onCreate中调用initView()
附:
布局文件main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/title_relative"
android:layout_width="match_parent"
android:layout_height="45.0dp"
android:background="#000000">
<ImageView
android:id="@+id/title_city_manager"
android:layout_height="45.0dp"
android:layout_width="45.0dp"
android:src="@drawable/title_city_manager">
</ImageView>
<TextView
android:id="@+id/title_city_name"
android:layout_height="45.0dp"
android:layout_width="match_parent"
android:layout_toRightOf="@id/title_city_manager"
android:gravity="center_vertical"
android:text="天气预报"
android:textSize="25.0sp"
android:textColor="#FFFFFF">
</TextView>
<ImageView
android:id="@+id/title_city_locate"
android:layout_height="45.0dp"
android:layout_width="45.0dp"
android:layout_toLeftOf="@+id/title_city_update"
android:src="@drawable/title_city_locate">
</ImageView>
<ImageView
android:id="@+id/title_city_update"
android:layout_height="45.0dp"
android:layout_width="45.0dp"
android:layout_toLeftOf="@+id/title_city_share"
android:src="@drawable/title_city_update">
</ImageView>
<ImageView
android:id="@+id/title_city_share"
android:layout_height="45.0dp"
android:layout_width="45.0dp"
android:layout_alignParentRight="true"
android:src="@drawable/title_city_share">
</ImageView>
</RelativeLayout>
<RelativeLayout
android:id="@+id/today_relative"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_below="@id/title_relative"
android:background="@drawable/main_background">
<RelativeLayout
android:id="@+id/todayinfo1_relative"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id=