android 我的对话中 Edittext 的可见性不起作用
Visibility of Editext Not Working in my dialogue in android
Edittext 可见性在我的代码中的对话中不起作用这里是我的xml。
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<RadioGroup
android:id="@+id/radiogroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/radiorefus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onRadioButtonClicked"
android:text="Outlet has refused to offer discount"
/>
<RadioButton
android:id="@+id/radioother"
android:onClick="onRadioButtonClicked"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Other" />
</RadioGroup>
</LinearLayout>
<EditText
android:layout_width="match_parent"
android:hint="Enter short reason..."
android:id="@+id/txtreport"
android:visibility="gone"
android:layout_height="wrap_content" />
这里我的对话代码对话将在点击按钮时显示。
Dialog dialog = new Dialog(DetailOfListCard.this);
dialog.setContentView(R.layout.reportdialouge);
dialog.show();
inflater = LayoutInflater.from(DetailOfListCard.this);
view = inflater.inflate(R.layout.reportdialouge, null);
editText = (EditText) view.findViewById(R.id.txtreport);
textView = (TextView) view.findViewById(R.id.reptxt);
这里我在对话布局中使用了单选按钮。
这是我的 java 代码,我想在其中设置可见性以根据单选按钮
编辑文本
public void onRadioButtonClicked(View v){
RadioGroup rg = (RadioGroup)view.findViewById(R.id.radiogroup);
radioButton = (RadioButton)view.findViewById(R.id.radiorefus);
radioButton1 = (RadioButton)view.findViewById(R.id.radioother);
// Is the current Radio Button checked?
boolean checked = ((RadioButton) v).isChecked();
switch(v.getId()){
case R.id.radiorefus:
Toast.makeText(DetailOfListCard.this,"detail of list",Toast.LENGTH_SHORT).show();
textView.setVisibility(View.INVISIBLE);
break;
case R.id.radioother:
textView.setVisibility(View.VISIBLE);
Toast.makeText(DetailOfListCard.this,"edit text visible",Toast.LENGTH_SHORT).show();
break;
}
}
像这样用你的对话框初始化编辑文本,
EditText et= dialog.findViewById(R.id.edittext);
然后,让你的 edittext 像这样可见,
et.setVisibility(VIEW.VISIBLE);
Edittext 可见性在我的代码中的对话中不起作用这里是我的xml。
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<RadioGroup
android:id="@+id/radiogroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/radiorefus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onRadioButtonClicked"
android:text="Outlet has refused to offer discount"
/>
<RadioButton
android:id="@+id/radioother"
android:onClick="onRadioButtonClicked"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Other" />
</RadioGroup>
</LinearLayout>
<EditText
android:layout_width="match_parent"
android:hint="Enter short reason..."
android:id="@+id/txtreport"
android:visibility="gone"
android:layout_height="wrap_content" />
这里我的对话代码对话将在点击按钮时显示。
Dialog dialog = new Dialog(DetailOfListCard.this);
dialog.setContentView(R.layout.reportdialouge);
dialog.show();
inflater = LayoutInflater.from(DetailOfListCard.this);
view = inflater.inflate(R.layout.reportdialouge, null);
editText = (EditText) view.findViewById(R.id.txtreport);
textView = (TextView) view.findViewById(R.id.reptxt);
这里我在对话布局中使用了单选按钮。
这是我的 java 代码,我想在其中设置可见性以根据单选按钮
public void onRadioButtonClicked(View v){
RadioGroup rg = (RadioGroup)view.findViewById(R.id.radiogroup);
radioButton = (RadioButton)view.findViewById(R.id.radiorefus);
radioButton1 = (RadioButton)view.findViewById(R.id.radioother);
// Is the current Radio Button checked?
boolean checked = ((RadioButton) v).isChecked();
switch(v.getId()){
case R.id.radiorefus:
Toast.makeText(DetailOfListCard.this,"detail of list",Toast.LENGTH_SHORT).show();
textView.setVisibility(View.INVISIBLE);
break;
case R.id.radioother:
textView.setVisibility(View.VISIBLE);
Toast.makeText(DetailOfListCard.this,"edit text visible",Toast.LENGTH_SHORT).show();
break;
}
}
像这样用你的对话框初始化编辑文本,
EditText et= dialog.findViewById(R.id.edittext);
然后,让你的 edittext 像这样可见,
et.setVisibility(VIEW.VISIBLE);