我在佈局xml中有以下兩個LinearLayout。點擊問題當一個佈局是INVISIBLE&其他佈局是可見的
我已經加入onClickListener在佈局項目都layout_edit & layout_create
<LinearLayout
android:id="@+id/layout_edit"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:background="@color/white"
android:gravity="center"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:visibility="visible" >
<ImageView
android:id="@+id/imgView_edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_edit" >
</ImageView>
</LinearLayout>
<LinearLayout
android:id="@+id/layout_create"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_toLeftOf="@id/layout_edit"
android:background="@color/white"
android:gravity="center"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:visibility="visible" >
<ImageView
android:id="@+id/imgView_create"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_create" >
</ImageView>
</LinearLayout>
添加以下代碼:
LinearLayout linearLayoutEdit = (LinearLayout) getActivity().findViewById(R.id.layout_edit);
mLinearLayoutEdit.setOnClickListener(this);
LinearLayout linearLayoutCreate = (LinearLayout) getActivity().findViewById(R.id.layout_create);
linearLayoutCreate.setOnClickListener(this);
在特定的情況下,下面的代碼添加:
linearLayoutEdit.setVisibility(View.INVISIBLE);
現在,linearLayoutCreate仍然可見,但linearLayoutCreate onClick不起作用。
當linearLayoutEdit & linearLayoutCreate是VISIBLE時,它們的onClick都工作正常。
這似乎是因爲linearLayoutCreate定位linearLayoutEdit & linearLayoutEdit的左邊是使用代碼不可見,linearLayoutCreate的點擊動作不但其可見工作。
linearLayoutEdit爲INVISIBLE時,如何使linearLayoutCreate可點擊的提示。
我發現的一個解決方案是使用已有的ID再次重新創建佈局,但是還有其他解決方案嗎?現在
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.layout_edit:
break;
case R.id.layout_create:
// not navigating within this condition only when layout_edit is INVISIBLE, but //navigating when both layout_edit & layout_create are VISIBLE
break;
default:
break;
}
}
嘗試設置知名度'linearyLayoutEdit'到''去掉'而不是'不可見',因爲'不可見'仍然佔據着空間。 – Wenhui
使用「[編輯]」將代碼添加到您的問題。正如你發現評論不顯示代碼非常好... – Sam
'imgView_create'是否有任何監聽器連接到它(OnTouch,OnClick等)? – Sam