爲什麼我的setVisibility(View.INVISIBLE)導致異常,而 setVisibility for TextView起作用。我也試着將它設置爲ImageView的,它也無法正常工作 - 我得到的例外太多setVisibility(View.INVISIBLE)導致異常,爲什麼?
public void alertdiag() {
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
LayoutInflater inflater = this.getLayoutInflater();
View dialogView = inflater.inflate(R.layout.alertdiag_layout, null);
dialogBuilder.setView(dialogView).show();
View Divider1 = (View) dialogView.findViewById(R.style.Divider1);
Divider1.setVisibility(View.INVISIBLE); //causes java.lang.IllegalStateException: Could not execute method of the activity"
TextView HELP0 = (TextView) dialogView.findViewById(R.id.HELP0);
HELP0.setVisibility(View.INVISIBLE); // this works
}
alertdiag_layout.xml:
<View style="@style/Divider1"
android:layout_below="@+id/HELP3"
android:background="#000000"
android:layout_alignRight="@+id/HELP_FIX_LINE"
android:layout_alignLeft="@+id/HELP3"
/>
<TextView
android:id="@+id/HELP0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@+id/HELP_FIX_LINE"
android:textStyle="bold"
android:typeface="normal"
/>
styles.xml:
<style name="Divider1">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">1dp</item>
</style>
您正試圖將可見性設置爲樣式(R.style.Divider1)。將ID添加到您的視圖並將R.style.Divider1更改爲R.id.yourNewId –
完美!這工作,謝謝! – juraset
我把它作爲你接受的答案 –