ListView的动态按钮创建

时间:2014-04-17 09:50:51

标签: android button layout

我有一个ListView,用于显示包含数据的行。每行应该有一个按钮。单击该按钮时,应该启动包含与该行相关的数据的查询。但是,我无法显示按钮。如果我在它显示的布局文件中定义按钮,但我会开始遇到具有完全相同ID的每个按钮的问题。如果我动态创建按钮,它们可能不会显示或弄乱我的布局。

编辑: 这是我用于动态创建按钮的代码:

LinearLayout ll = (LinearLayout) findViewById(R.id.button_container);
LayoutParams params = ll.getLayoutParams();
btn = new Button(this);
btn.setText("Check in");
btn.setId(i);
ll.addView(btn);
params.height=LayoutParams.WRAP_CONTENT;
params.width=LayoutParams.WRAP_CONTENT;
ll.setLayoutParams(params);
btn.setTag(mGoalIds[i]);
btn.setOnClickListener(mButtonListener);

EDIT2:通过用OnItemClickListener替换按钮来管理它。

1 个答案:

答案 0 :(得分:0)

首先要实现的是你应该在xml布局文件中定义按钮。

现在您的问题是如何检测在运行时单击哪个行按钮,因为所有按钮具有相同的ID。

解决方案 - >

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // ...........................
        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                String getSelectedItem = yourArrayList.get(position);
            }
        });

        return convertView;
    }