How to Display two dimensional Array in ListView?

后端 未结 3 1654
悲&欢浪女
悲&欢浪女 2021-02-06 18:22

I Have 2D Array and this 2D Array has Strings. I would like to know How to Display the Strings in ListView?how to scroll both vertically and horizontally?

Strin         


        
3条回答
  •  忘掉有多难
    2021-02-06 18:50

    Creating a model as an inner class always works well.
    Good way to store any number of items.

    public class ActivityClass extends Activity {
        ...
        ArrayList listViewValues = new ArrayList();
        listViewValues.add(new ValuesModel("row title", "row details"));
    
        ListViewAdapter listAdapter = new ListViewAdapter(this, listViewValues);
        ((ListView) findViewById(android.R.id.list)).setAdapter(listAdapter);
        ...
    
        public class ValuesModel {
            private String rowTitle;
            private String rowDetails;
    
            public ValuesModel(String rowTitle, String rowDetails) {
                this.rowTitle = rowTitle;
                this.rowDetails = rowDetails;
            }
            public String getRowTitle() {
                return rowTitle;
            }
            public String getRowDetails() {
                return rowDetails();
            }
    }
    

    Then inside of your list adapter,

    public class ListViewAdapter extends ArrayAdapter {
        private ArrayList mValues;
        ...
    
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            ...
            //here whenever you need to retrieve your values, just say:  
            //  mValues.get(position).getRowTitle();
            //  mValues.get(position).getRowDetails();
            //if you use a viewholder pattern, you can do this:
            viewHolder.rowTitle = (TextView) convertView.findViewById(R.id.row_title_textview);  
            viewHolder.rowTitle.setText(mValues.get(position).getRowTitle());
            ...
        }
    }
    

提交回复
热议问题