2017-04-23 39 views
-1

我有一個列表視圖,並用arrayadpter創建它,但是當我嘗試添加數據時,它顯示空行爲每次我試圖清空數據,我檢查數據庫和信息進入只是從不在行上顯示。下面的代碼:SQLite列表視圖返回空行數據

public class Column_Adapter extends ArrayAdapter<Income>{ 


    public LayoutInflater inflater; 
    public ArrayList<Income> incomes; 
    public int viewResource; 

    public Column_Adapter(Context context, int textViewResourceId, ArrayList<Income> incomes){ 
     super(context, textViewResourceId, incomes); 
     this.incomes = incomes; 
     inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     viewResource = textViewResourceId; 
    } 

    public View getView(int position, View convertView, ViewGroup parent){ 
     convertView = inflater.inflate(viewResource, null); 

     Income income = incomes.get(position); 



     if(income !=null) { 
      TextView infoView = (TextView) convertView.findViewById(R.id.expense_type); 
      TextView amountView = (TextView) convertView.findViewById(R.id.expense_amount); 
      TextView budgetView = (TextView) convertView.findViewById(R.id.expense_budget); 
      if (infoView != null) { 
       infoView.setText(income.getiDate()); 
      }if(amountView != null){ 
       amountView.setText(income.getiAmount()); 
      }if(budgetView != null){ 
       budgetView.setText(income.getiMethod()); 
      } 
     } 

     return convertView; 
    } 
} 

佈局模板:

<?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"> 

    <TextView 
     android:id="@+id/expense_budget" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/eExpInc" 
     android:layout_marginLeft="32dp" 
     android:layout_marginStart="32dp" 
     android:layout_alignBaseline="@+id/expense_amount" 
     android:layout_alignBottom="@+id/expense_amount" 
     android:textAppearance="@style/TextAppearance.AppCompat.Large" 
     android:textSize="18sp" 
     android:textStyle="bold" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" /> 

    <TextView 
     android:id="@+id/expense_type" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/eDefaultType" 
     android:layout_marginRight="52dp" 
     android:layout_marginEnd="52dp" 
     android:layout_alignBaseline="@+id/expense_amount" 
     android:layout_alignBottom="@+id/expense_amount" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:textAppearance="@style/TextAppearance.AppCompat.Large" 
     android:textSize="18sp" 
     android:textStyle="bold" /> 

    <TextView 
     android:id="@+id/expense_amount" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="51dp" 
     android:text="@string/eDefaultAmount" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:textAppearance="@style/TextAppearance.AppCompat.Large" 
     android:textSize="18sp" 
     android:textStyle="bold" /> 



</RelativeLayout> 

回答

0

正如似乎忘了這

public int getCount() { 
    if(incomes!=null) 
    return incomes.size(); 
    return 0; 
} 
+0

Dosent似乎工作謝謝嘗試THO :) – chris123

+0

沒有... ArrayAdapter顯然已經實現此方法... – Selvin

+0

我似乎無法看到問題我檢查了數據庫和數據正在輸入它的每個新記錄只顯示空行,所以它不是數據庫 – chris123