在android listview 的每一行中添加 textview 和按钮,如果点击一行按钮,则其行的textview应为编辑或更改,其他行必须保持不受影响
答案 0 :(得分:0)
要获得此功能,您需要使用自定义适配器和自定义布局。
在您的行XML文件中:
<TextView
android:id="@+id/label"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button" />
在基础适配器中,您可以将侦听器设置为执行某些操作:
public class MyBaseAdapter extends BaseAdapter {
// Some other method implementation here...
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// Initialize the convertView here...
LinearLayout layout = (LinearLayout) convertView.findViewById(R.id.row_layout);
Button button = (Button) convertView.findViewById(R.id.button);
layout.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(context, "Row clicked!", Toast.LENGTH_LONG).show();
}
});
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(context, "Button clicked!", Toast.LENGTH_LONG).show();
}
});
}
}