【问题标题】:Creating Listview dynamically in Android在 Android 中动态创建 Listview
【发布时间】:2013-02-03 22:05:04
【问题描述】:

我有一个二维字符串array

我想创建一个 3 列的列表视图,用于显示来自字符串数组的数据,它的行数应该与字符串数组的大小相同。

这是我的字符串数组:

String[][] data = {
   {"001", "JOHN ","1001" },
   {"002", "SIBIN", "1002" },
   {"003", "TOM ",   "1003" },
   {"004", "FREEDY", "1004" }
   };

我想以Listview 之类的方式显示它

ID    NAME   VACANCY ID
001   JOHN    1001
002   SIBIN   1002
003   TOM     1003
004   FREEDY  1004

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

这怎么可能?我是android开发新手,只知道基础,只知道listview的创建。

【问题讨论】:

  • 你已经尝试了什么?
  • 嗨 Rajitha,我尝试创建一个包含 3 列的列表视图,但我不知道如何将字符串数组中的动态数据添加到列表视图
  • 你能发布你的代码吗?您必须为 ListView 创建一个自定义适配器。
  • @Sibinfrancis 浏览下面提供的链接...我确定您的答案只有...没有可以编写代码,根据您的要求,您必须从下面的链接。
  • Thanx Rajitha...这是正确的方式.. 但是为什么人们不赞成我的问题?我是安卓新手..我不是专家..

标签: android android-listview dynamic-list


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-04
    • 2021-01-14
    • 1970-01-01
    • 1970-01-01
    • 2017-11-14
    • 2019-11-17
    相关资源
    最近更新 更多