0

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

4

1 回答 1

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();
            }
        });
    }    
}
于 2013-01-24T15:18:49.927 回答