我只是在使用Android製作一個簡單的天氣應用程序,並且我正在製作一個帶有自定義列表視圖的抽屜 - 它顯示數據庫中某個位置的城市,時間,當前溫度和圖標。但是,在我的ListView適配器中,當我設置textviews的值時,它出現錯誤。基本上,價值觀正在轉向。TextView的值左右切換
例如 - 如果我將芝加哥設爲我的城市,它會顯示芝加哥的溫度應該在哪裏。
DrawerListAdapter.java
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater mInflater = (LayoutInflater) context
.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.drawer_list_item, null);
}
ImageView icon = (ImageView) convertView.findViewById(R.id.icon);
TextView city = (TextView) convertView.findViewById(R.id.city);
TextView time = (TextView) convertView.findViewById(R.id.time);
TextView temp = (TextView) convertView.findViewById(R.id.temp);
icon.setImageResource(drawerListItem.get(position).getIcon());
city.setText(drawerListItem.get(position).getCity());
time.setText(drawerListItem.get(position).getTime());
temp.setText(drawerListItem.get(position).getTemp());
return convertView;
}
DrawerListItem.java
public class DrawerListItem {
int icon;
String city;
String time;
String temp;
public DrawerListItem(int icon, String city, String time, String temp) {
super();
this.icon = icon;
this.city = city;
this.time = time;
this.temp = temp;
}
public int getIcon() {
return icon;
}
public void setIcon(int icon) {
this.icon = icon;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getTemp() {
return temp;
}
public void setTemp(String temp) {
this.temp = temp;
}
}
drawer_list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="58dp"
android:background="@drawable/list_selector"
android:minHeight="58dp" >
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:src="@drawable/cloudy" />
<TextView
android:id="@+id/temp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@drawable/temp_bg"
android:text="75°"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="25sp" />
<TextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/city"
android:layout_alignTop="@+id/icon"
android:text="3:17 PM"
android:textColor="@color/White" />
<TextView
android:id="@+id/city"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_below="@+id/time"
android:layout_marginLeft="22dp"
android:layout_toRightOf="@+id/icon"
android:text="Chicago"
android:textAppearance="?android:attr/textAppearanceLarge" />
你在哪裏創建'DrawerListItem'? –
在我的主要活動。我將DrawerListItem添加到ArrayList中,然後將ArrayList賦予Adapter。適配器然後設置值 – user2300851
這是我學會了如何使它:http://www.androidhive.info/2013/11/android-sliding-menu-using-navigation-drawer/ – user2300851