在android listview的每一行中添加textview和按钮

时间:2013-01-24 15:11:23

标签: android listview button textview

在android listview 的每一行中添加 textview 按钮,如果点击一行按钮,则其行的textview应为编辑或更改,其他行必须保持不受影响

1 个答案:

答案 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();
            }
        });
    }    
}