我有一个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替换按钮来管理它。
答案 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;
}