2013-04-24 48 views
1

創建不同的視圖類型我不知道如何準確問這個問題,但我會試試看。的Android編程:如何以編程方式在網格的方式

這裏就是我想要做的,在一個活動。

建立一個網格中,包含[X]每3列的行中,與該內容

[一個TextView(含有名)] [一個微調(含有狀態的列表)] [一個EditText ]

如何開始?我可以通過編程創建視圖,這不是問題,我甚至將它們存儲在3個數組列表中供以後參考,但我看不出如何正確執行。

我應該創建一個例如XML佈局(和僞代碼)

LinearLayout (horizontal) 
    TextView ... 
    Spinner ... 
    EditText ... 
/LinearLayout 

並嘗試它充氣在我使用創建的每個行的循環,並且設定每個視圖的id以標準方式(例如的viewName [x]其中x是電流「i 「從我的for,但它有什麼用處?),正如我們爲ExpendableList適配器的組/子項所做的那樣?或者有沒有一種方法可以實際使用GridView/GridLayout來做到這一點(在這種情況下,在我的Activity中,我如何將每個特定的創建視圖放到正確的GridView/GridLayout中)?

或者另一種方式,我完全不懷疑?

在此先感謝

如果你想添加視圖編程,然後,只需創建一個有3個Linearlayouts(水平)一layout.xml
+0

觀看這部影片的第一個13分鐘。它很好地展示了適配器:http://www.youtube.com/watch?v = N6YdwzAvwOA(他說ListView的一切,但GridView是一樣的。 – Budius 2013-04-24 14:37:11

+0

你可以發佈你的代碼嗎?你想以編程方式添加視圖嗎? – 2013-04-24 14:39:04

回答

0

。還爲這些LinearLayouts分配id。然後在你的java代碼中,找到這些視圖並在這些LinearLayouts上調用addView()。

例子:

LinearLayout ll_1 = (LinearLayout)findViewById(R.id.linearlayout1); 
LinearLayout ll_2 = (LinearLayout)findViewById(R.id.linearlayout2); 
LinearLayout ll_3 = (LinearLayout)findViewById(R.id.linearlayout3); 

... 

ll_1.addView(new TextView(this)); 
ll_1.addView(new Spinner(this)); 
ll_1.addView(new EditText(this)); 
... 

詳細,比方說,如果我想微調添加到LinearLayout中,編程然後,

你需要得到的佈局

LinearLayout linearLayout = findViewById(R.id.layoutID); 

創建微調如下圖所示:

Spinner spinner = new Spinner(this); 

spinner .setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT)); 

       ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(this, 
         android.R.layout.simple_spinner_dropdown_item, spinnerList); 
       spinner.setAdapter(spinnerArrayAdapter); 

然後加入微調查看

linearLayout.addView(spinner); 
+0

謝謝,這是一個很好的起點,我仍然需要解決我的佈局一起工作以建立「行」列表的方式,但它正在向前發展;) – Varkhan 2013-04-25 07:03:54

+0

不客氣。只要繼續努力吧... – 2013-04-25 07:06:46