Android内にグリッドビューを実装したいと思います。これは基本的に4つの列で構成されます(テーブルと同様に機能します)。
これは基本的に、4つの列(name、qty、p1、p2)にまたがるアイテムのリストになります。したがって、各行には4つの列が含まれ、1つのアイテムに固有です。したがって、これらの4つの列をバインドして、これらの4つの列内の任意の場所を選択すると、行全体が選択され、「name」列がテキストIDとして返されるようにする方法が必要です。
これを行う簡単な方法はありますか?これは、gridViewの現在のコードです。
XMLレイアウト:
<GridView
android:id="@+id/gvShopCompleteList"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/spnShopCharacters"
android:layout_above="@+id/linerBuyBtns"
android:numColumns="1"
android:fastScrollEnabled="true"
android:scrollbarStyle="insideOverlay">
</GridView>
動的コンテンツのバインド:
GridView gridview;
static final String[] listItems = new String[] { "name","qty","p1","p2","itemname","5","100","1" };
gridview = (GridView)findViewById(R.id.gvShopCompleteList);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listItems);
gridview.setAdapter(adapter);
gridview.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View v,int position, long id)
{
Toast.makeText(getApplicationContext(),
((TextView) v).getText(), Toast.LENGTH_SHORT).show();
}
});
最後に、追加したい追加機能は、ヘッダーを読み取り専用にし、他の行とは異なる色で強調表示することです。ここで助けていただければ幸いです。GridViewを使用する必要はありませんが、一般的なAndroidの外観を可能な限り維持したいと考えています(アプリ全体で一貫性があります)。ありがとう。