Android / Java如何使用java动态创建卡?

时间:2015-04-24 06:43:38

标签: java android

我正在编写一个应用程序,它从数据库中获取字符串并将其显示在列表中,我希望每个条目都是特定的卡片,就像在Google即时中一样。

我必须创建TextView的代码如下:

SharedPreferences prefs = getSharedPreferences("Peixoto2Go", MODE_PRIVATE);
    SharedPreferences.Editor editor = prefs.edit();
    Database db = new Database(this);
    TextView totalTip = (TextView) findViewById(R.id.totalTipText);
    DecimalFormat df = new DecimalFormat("#,###,##0.00");
    totalTip.setText("Total Tip: $" + df.format(prefs.getFloat("totalTip", (float) 0.00)));
    int index = prefs.getInt("IDo", 0);
    View orderList = findViewById(R.id.orderList);
    for(int i=0;i<index;i++) {
        TextView order = new TextView(this);
        order.setText(db.getOrder(i));
        order.setPadding(30,30,30,30);
        order.setTextSize(22);
        order.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));
        ((LinearLayout) orderList).addView(order);
    }

修改它的最佳方法是什么,以便每次for循环执行其操作时,创建的视图都是单独的卡?

1 个答案:

答案 0 :(得分:0)

为了实现与Google类似的功能,您基本上需要的是自定义ListView。 为此,您需要实现自定义适配器(BaseAdapter),然后使用适配器为每行充气自定义布局。

Here is a good tutorial on how to create Custom ListViews

并且记住,在ListViews中使用ViewHolders来提高ListView的性能是一个很好的做法。 Click here to get more information on ViewHolders.