如何将gridview动态转换为listview?

时间:2017-04-05 14:31:49

标签: android listview gridview

我是这种语言的新手。我想将我的gridview中的项目放入列表视图,但我不知道如何。

这是我在 MainActivity

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

    GridView gv= (GridView) findViewById(R.id.gv);
    Button b = (Button) findViewById(R.id.lv);

    String[] items = 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"
    };
    b.setOnClickListener( new View.OnClickListener(){
     @Override
     public void onClick(View v){
      Intent intent = new Intent("com.example.user.gridviewtolistview.Listview");
         startActivity(intent);
       }
       }
    );
    final ArrayAdapter<String> gridViewArrayAdapter = new ArrayAdapter<String>
            (this,android.R.layout.simple_list_item_1, items);

    // Data bind GridView with ArrayAdapter (String Array elements)
    gv.setAdapter(gridViewArrayAdapter);
}

这是 MainActivity UI

MainActivityUI

当我点击“转换为Listview”按钮时,它将进入另一个活动。

这是 Listview用户界面,如下所示:

Listview UI

我想动态地在列表视图中显示gridview中的项目。

1 个答案:

答案 0 :(得分:0)

首先在xml中添加listview

<ListView
      android:id="@+id/listview"
      android:layout_width="match_parent"
      android:layout_height="wrap_content" >
</ListView>

然后在Java文件中。

final ArrayAdapter<String> adapter= new ArrayAdapter<String>
            (this,android.R.layout.simple_list_item_1, items);
ListView listView = (ListView) findViewById(R.id.listview);
listView.setAdapter(adapter);

如果要创建在照片中显示的布局。您可以通过创建自定义适配器或使用simple_list_item_2

来实现

自定义适配器/列表视图意味着您可以指定自己的布局。

要了解如何使用simple_list_item_2,请使用以下链接。

How to set both lines of a ListView using simple_list_item_2?

了解如何创建自定义适配器或列表视图

http://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text/

ListView和GridView已经过时了。您可以使用RecyclerView。它具有更多功能,然后列表/网格视图。

了解RecyclerView:http://www.androidhive.info/2016/01/android-working-with-recycler-view/