0

SQLiteデータベースのデータをテーブルで表示する必要がありますが、問題は、表示したすべてのgridViewサンプルが、テーブルのすべてのデータを定義する単一の配列で実装されていることです。

public class GridViewDemo extends Activity implements
        AdapterView.OnItemClickListener {

    TextView selection;
    String[] items = { "this", "is", "a", "really", "really2", "really3",
            "really4", "really5", "silly", "list" };

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        selection = (TextView) findViewById(R.id.selection);

        GridView gv = (GridView) findViewById(R.id.grid);

        ArrayAdapter<String> aa = new ArrayAdapter<String>(
                this,
                android.R.layout.simple_list_item_1, 
                items );

        gv.setAdapter(aa);
        gv.setOnItemClickListener(this);
    }

    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
        selection.setText(items[position]);
    }

}// class

リンク

ユーザーが選択したデータセットが含まれる行数がわからないため、列ごとに異なるデータ配列を受け取るgridViewを実装する必要があります。

Es

String dataColumn1[]=....
String dataColumn2[]=....
String dataColumn3[]=....

または、行を指定されたintに制限する方法もあるので、単一の配列でも問題を解決できます。

4

1 に答える 1

0

列ごとに異なるデータ配列を受け取る gridView を実装する必要があります。

独自のカスタム アダプターを作成し、メソッドのpositionパラメーターを使用して正しいデータ配列からセル項目を取得することで、これを簡単に実装できます。getView問題は、どの列に最大数のアイテムがあるかを調べ、その数に一致するように偽のアイテムを他のデータ配列に挿入しGridViewて、正しい状態を維持する必要があることです。

または、行を指定されたintに制限する方法もあるため、単一の配列でも問題を解決できます。

理解できませんでした。 の行数は、列GridViewの数と使用可能なデータによって事前に決定されます (5 つの列を設定し、6 つのデータ項目がある場合、 には 2 つの行がありますGridView)。

を使用してテーブルを実装することも検討することをお勧めしますListView(これに役立つ可能性のある質問に回答しました)。

于 2012-12-15T16:11:29.190 に答える