2012-03-30 70 views
0

我創建了一個ListView並填充它我使用Adapter使用適配器來顯示ListView單聲道爲Android

Adapter類的GetView()如下:

LayoutInflater inflater = activity.LayoutInflater; 
if (convertView == null) 
{ 
    convertView = inflater.Inflate(Resource.Layout.List_MktData, null); 
} 

DataRow dr; 
object[] row; 

if(position==0) 
{ 
    Console.WriteLine("In position 0"); 
    dr = result.Rows[0]; 
    row=dr.ItemArray; 

    tvCMPValue.Text=row[0].ToString(); 
    tvPrevClose.Text=row[1].ToString(); 
    tvOpen.Text=row[2].ToString(); 
    tvHigh.Text=row[3].ToString(); 
    tvLow.Text=row[4].ToString(); 
    tvClose.Text=row[5].ToString(); 
} 

else if(position==1) 
{ 
    Console.WriteLine("In position 1"); 
    dr = result.Rows[1]; 
    row=dr.ItemArray; 

    tvPercChgValue.Text=row[0].ToString(); 
    tvPrevCloseValue.Text=row[1].ToString(); 
    tvOpenValue.Text=row[2].ToString(); 
    tvHighValue.Text=row[3].ToString(); 
    tvLowValue.Text=row[4].ToString(); 
    tvCloseValue.Text=row[5].ToString(); 
} 

其中開始電視所有元素都是TextView一個ListView內。

現在的問題是當我運行這段代碼時,我得到如屏幕截圖所示的以下輸出。

Row1Row2的內容顯示在Row1' while Row2`顯示正確的數據。

我知道它與position變量有關,但花了很多時間後,我仍然無法破解它。

注意:數據來自DataTable有兩行。

ListView的第一行應填入第一行DataTable,而第二行ListView應填入第二行DataTable

我絕對的初學者,當談到單爲Android,所以任何幫助讚賞...

screen shot

回答

1

你有什麼是:2行,每行中有一個表,每個由兩行組成。 你想要的是:ListView中的2行與LinearLayout一個行的TextViews

然後,對每個呼叫這樣做是爲了GetView

LayoutInflater inflater = activity.LayoutInflater; 
if (convertView == null) 
{ 
    convertView = inflater.Inflate(Resource.Layout.List_MktData, null); 
} 

DataRow dr; 
object[] row; 

Console.WriteLine("In position " + position); 
dr = result.Rows[position]; 
row = dr.ItemArray; 

tvCMPValue.Text = row[0].ToString(); 
tvPrevClose.Text = row[1].ToString(); 
tvOpen.Text = row[2].ToString(); 
tvHigh.Text = row[3].ToString(); 
tvLow.Text = row[4].ToString(); 
tvClose.Text = row[5].ToString(); 

解決了兩個問題:更少的代碼,它應該工作。另外,您可能會注意到,列表中的兩個項目之間存在差距。這是第二行(列表項)第一行(表)的結果,這是表頭行,沒有任何值。

+0

那麼第2行的剩餘文本框呢?如何填充它們? – GAMA 2012-03-31 08:04:19

+0

你可以發佈'Resource.Layout.List_MktData'資源的內容嗎? – Matthew 2012-04-04 08:38:05

+0

根據你上面的代碼,你會在列表中只有兩個項目嗎?如果是這種情況,您可以使用表格佈局。 – Matthew 2012-04-04 09:08:52