有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我需要使用ArrayAdapter在GridView中显示ArrayList<String>

我需要使用ArrayAdapter在GridView中显示ArrayList,但它目前不起作用

这是我的数组列表:

    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, 
安卓.R.layout.simple_list_item_1, num);
rootView.setAdapter(array);

共 (2) 个答案

  1. # 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

  2. # 2 楼答案

    您可以使用以下代码

    主要活动。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>
    

    主要活动。爪哇

    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);
        }
    }