将点击处理程序添加到自定义布局
Add click handler to custom Layout
大家好。
我正在将自定义布局膨胀为对象的行。
一切正常,除了我无法设置 Click/LongClick 到该行。
这是我所做的。
Layout_BatchRow batchRow = new Layout_BatchRow(this);
batchRow.New(batchObject);
batchRow.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(final View v) {
. . .
}
});
batchRow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View v) {
. . .
}
});
以下是自定义布局class:
public class Layout_BatchRow extends RelativeLayout {
public Layout_BatchRow(Context context) {
super(context);
inflate(getContext(), R.layout.batch_row, this);
. . .
}
}
这是布局 XML:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:tool="http://schemas.android.com/tools"
android:clickable="true"
android:focusable="true"
android:longClickable="true"
tool:context=".Layout_BatchRow">
. . .
</RelativeLayout>
调试时未到达侦听器。
有什么想法吗?
我认为你不需要添加这个:
android:clickable="true"
android:focusable="true"
android:longClickable="true"
大家好。
我正在将自定义布局膨胀为对象的行。
一切正常,除了我无法设置 Click/LongClick 到该行。
这是我所做的。
Layout_BatchRow batchRow = new Layout_BatchRow(this);
batchRow.New(batchObject);
batchRow.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(final View v) {
. . .
}
});
batchRow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View v) {
. . .
}
});
以下是自定义布局class:
public class Layout_BatchRow extends RelativeLayout {
public Layout_BatchRow(Context context) {
super(context);
inflate(getContext(), R.layout.batch_row, this);
. . .
}
}
这是布局 XML:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:tool="http://schemas.android.com/tools"
android:clickable="true"
android:focusable="true"
android:longClickable="true"
tool:context=".Layout_BatchRow">
. . .
</RelativeLayout>
调试时未到达侦听器。
有什么想法吗?
我认为你不需要添加这个:
android:clickable="true"
android:focusable="true"
android:longClickable="true"