-2
我試圖使用HelloGridView示例代碼。在getView()中添加按鈕GridView
我希望爲每個網格添加按鈕。 從研究中,似乎我必須在getView適配器方法中創建按鈕而不是圖像視圖。
但是,我不知道如何在getView()方法中創建按鈕。
任何人都可以好心地告訴我如何在方法中創建一個按鈕?
謝謝!
我試圖使用HelloGridView示例代碼。在getView()中添加按鈕GridView
我希望爲每個網格添加按鈕。 從研究中,似乎我必須在getView適配器方法中創建按鈕而不是圖像視圖。
但是,我不知道如何在getView()方法中創建按鈕。
任何人都可以好心地告訴我如何在方法中創建一個按鈕?
謝謝!
我想做同樣的事情,所以我所做的就是使用一個xml文件和一個帶有一些代碼的layoutinflater。
XML包含的GridView:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp" >
<GridView
android:id="@+id/gridview2"
android:layout_width="fill_parent"
android:layout_height="250dp"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="5dp"
android:horizontalSpacing="5dp"
android:stretchMode="columnWidth"
android:gravity="center" />
</LinearLayout>
這是我的基地GridView中,我在您的adapter.getView方法用於GridView的 「細胞」 的XML文件名爲grid_item.xml
<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/GridItem"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:id="@+id/GridItem_Button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
然後
public View getView(final int position, View convertView, ViewGroup parent) {
View mView = convertView;
if(convertView == null) {
// I use a cursor for the content which is setup elsewhere
cursor.moveToPosition(position);
// inflate the layout to edit it
LayoutInflater li = (LayoutInflater) Context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mView = li.inflate(R.layout.grid_item, null);
// not we can get the button defined in grid_item.xml
Button b = (Button) mView.findViewById(R.id.GridItem_Button);
// set the button text based on the cursor/your content
b.setText(cursor.getString(0);
// now we can also do an OnClickListener
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// do something on button click
}
});
}
return mView;
}
這對我很好用 起初我是混淆編輯onClickListener我應該使用和按鈕它的工作將onClickListener添加到按鈕,但否則它似乎更好地將onItemClickListener自己的GridView。 如果有什麼不清楚請讓我知道。
尼克