使用addView而不是listView

时间:2016-08-12 06:46:04

标签: android listview

我正在尝试实现一个有多个项目的代码。 我可以填充ListView并显示所有这些项目,但我想要展开视图onItemClick。很遗憾,AdapterView不支持addView()

所以现在我想使用addView()通过遍历ArrayList<>()来动态添加项目。 我该怎么做?

基本上,我想在TextView内的ListView旁边显示自定义键盘布局,并更新TextView

的值

这就是我现在要做的。

public class OrderSummary extends Activity {
    LinearLayout linearLayout;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_order_summary);
        linearLayout = new LinearLayout(this);
        View view = View.inflate(this, R.layout.top_bar_layout, null);
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
        linearLayout.addView(view, params);
        view.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(OrderSummary.this, "Clicked", Toast.LENGTH_SHORT).show();
            }
        });
    }
}

2 个答案:

答案 0 :(得分:1)

您可以做的是将LinearLayout(方向设置为垂直)而不是ListView。然后为每一行制作一个自定义视图,遍历ArrayList,然后对视图进行充气,并继续使用LinearLayout将其添加到addView()

P.S。没有实际的代码,我不能告诉你如何纠正你的代码。

答案 1 :(得分:0)

在您的代码中存在将linearLayout添加到主容器的问题?