2017-03-15 4 views
0

ArrayAdapterを使用してGridViewにArrayListを表示する必要がありますが、現在は機能していません。ArrayAdapterを使用してGridViewにArrayList <String>を表示する必要があります

これは私のアレイ一覧です:

ArrayList<String> num = new ArrayList<>(); 
    num.add("Zero"); 
    num.add("one"); 
    num.add("Two"); 
    num.add("Three"); 
    num.add("Four"); 
    num.add("Five"); 
    num.add("Six"); 
    num.add("Seven"); 
    num.add("Eight"); 
    num.add("Nine"); 
    num.add("Ten"); 

、これは私が現在、GridViewコントロールを埋めるために使用していたコードです:

GridView rootView = (GridView) findViewById(R.id.activity_numbers); 
ArrayAdapter<String> array = new ArrayAdapter<>(this, 
android.R.layout.simple_list_item_1, num); 
rootView.setAdapter(array); 
+0

出力は、あなたの質問の本体内にそれを含める必要があり –

+1

リストではありませんグリッドとして表示されます。 –

+0

なぜリストビューを使用しないのですか? –

答えて

1

これは、あなたがそれを行うことができる方法です。

gridView = (GridView) findViewById(R.id.gridView1); 

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

    gridView.setAdapter(adapter); 

もう一つの例:詳細情報については

package com.javacodegeeks.android.androidgridviewexample; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.GridView; 
import android.widget.TextView; 
import android.widget.Toast; 
import android.view.View; 
import android.widget.AdapterView.OnItemClickListener; 

public class MainActivity extends Activity { 

    GridView grid; 

    static final String[] letters = new String[] { 
      "A", "B", "C", "D", "E", 
      "F", "G", "H", "I", "J", 
      "K", "L", "M", "N", "O", 
      "P", "Q", "R", "S", "T", 
      "U", "V", "W", "X", "Y", "Z"}; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.main); 

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

     ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, letters); 

     grid.setAdapter(adapter); 

     grid.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView parent, View v, int position, long id) { 
       Toast.makeText(getApplicationContext(), 
       ((TextView) v).getText(), Toast.LENGTH_SHORT).show(); 
      } 
     }); 

    } 

} 

click here

あなたは、次のコードを使用することができます
+0

シンプルで効果的です。火格子が... –

1

....

activity_main.xml

<LinearLayout 
    android:id="@+id/imageLayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:padding="5dp"> 

     <GridView 
      android:id="@+id/gridview1" 
      android:background="@color/colorAccent" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"/> 

</LinearLayout> 

MainActivity.java

public class MainActivity extends AppCompatActivity { 

    GridView gridView; 
    ArrayList<String> arrayList = new ArrayList<>(); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     gridView = (GridView)findViewById(R.id.gridview1); 

     for(int i=0;i<10;i++) 
     { 
      arrayList.add("Item - "+i); 
     } 

     ArrayAdapter adapter = new ArrayAdapter(getApplicationContext(),android.R.layout.simple_list_item_1,arrayList); 
     gridView.setAdapter(adapter); 
    } 
} 
+0

ちょうどうまく働いてくれてありがとう:) –

+0

まあまあ....;) –

関連する問題