我正在将ListView连接到Detail Activity,以便用户可以单击列表项,转到更详细的视图,然后返回。一切都运行正常,但有时我根本无法点击列表项。如果我单击隐藏所有其他元素的一个按钮(setVisibility(View.GONE)),模拟器将无法识别列表视图上的点击。我必须在列表视图再次处理交互之前单击其他元素。在堆栈中,如果此行位于底部,则列表视图无法点击:
E/Surface: getSlotFromBufferLocked: unknown buffer: 0xa2383490
我以前见过它,但直到现在我还没有多注意它。有人可以解释这意味着什么,如果它可能是我的问题的迹象,或者它是否可以忽略不计。
作为参考,这是导致问题的可见性更改者:
// Onclick method for Notes Collapse button
final Button buttonN = (Button) rootView.findViewById(R.id.notesSectionHeading);
buttonN.setTag(0);
final LinearLayout inputButtons = (LinearLayout) rootView.findViewById(R.id.input_control_block);
final LinearLayout inputBlock = (LinearLayout) rootView.findViewById(R.id.edit_text_block);
buttonN.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
final int status = (Integer) v.getTag();
if (status == 1) {
v.setTag(0); //pause
inputBlock.setVisibility(View.VISIBLE);
inputButtons.setVisibility(View.VISIBLE);
} else {
v.setTag(1); //pause
inputBlock.setVisibility(View.GONE);
inputButtons.setVisibility(View.GONE);
}
Toast.makeText(getActivity().getBaseContext(), "View visibility changed", Toast.LENGTH_SHORT).show();
}
}
);
答案 0 :(得分:0)
尝试设置按钮(或您要处理的任何其他视图点击列表项内),如下所示:
android:focusable="false"
android:focusableInTouchMode="false"
应该有效