在Android中动态创建Listview

Sib*_*cis 1 android dynamic-list android-listview

我有一个二维字符串array,

我想创建一个3列的列表视图,即从字符串数组中显示数据,它应该具有与字符串数组大小相同的行数.

这是我的字符串数组:

String[][] data = {
   {"001", "JOHN ","1001" },
   {"002", "SIBIN", "1002" },
   {"003", "TOM ",   "1003" },
   {"004", "FREEDY", "1004" }
   };
Run Code Online (Sandbox Code Playgroud)

我希望以Listview类似的方式显示它

ID    NAME   VACANCY ID
001   JOHN    1001
002   SIBIN   1002
003   TOM     1003
004   FREEDY  1004
Run Code Online (Sandbox Code Playgroud)

此外,当我单击列表视图项时,它会重定向到另一个具有listview id的页面

这怎么可能?我是android开发的新手,我只知道基础知识,而且我只知道如何创建listview.

Aut*_*d ツ 5

为此你需要一个自定义列表视图首先你应该在main.xml(只是一个例子)文件中添加一个列表视图,然后创建一个这样的类

public class MySimpleArrayAdapter extends ArrayAdapter<String> {
      private final Context context;
      private final String[] values;
      DataHelper dh;

      public MySimpleArrayAdapter(Context context, int textViewResourceId, String[] values) {
        super(context, textViewResourceId, values);
        this.context = context;
        this.values = values;

        dh=new DataHelper(getApplicationContext());
      }

      @Override
      public View getView(final int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View rowView = inflater.inflate(R.layout.list_name, parent, false);
       textView = (TextView) rowView.findViewById(R.id.textname);

        textView.setText(values[position]);
        // Change the icon for Windows and iPhone
        textView.setOnClickListener(new View.OnClickListener() {
               public void onClick(View v) 
               {
                   Toast.makeText(this,""+values[position],10000).show();
               }
               });


        return rowView;
} 
Run Code Online (Sandbox Code Playgroud)

R.layout.list_name这将是新的xml文件,它将内容加载到列表视图

而在你的on create方法的最后一步就是这样做的

con = (ListView) findViewById(R.id.main_listView); 
 MySimpleArrayAdapter adapter = new MySimpleArrayAdapter(MainActivity.this,  R.id.main_listView ,data);// data is String array valu to be added in list view
    //setting the adapter
    con.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)