小さなコードで助けが必要です。基本的に、ボタンといくつかの生成されたチェックボックスがあります(いくつかわからない)。チェックボックスがチェックされていない限り、ボタンは非表示にして無効にする必要があります。1 つ以上のチェックボックスがオンになっている場合、ボタンが表示されて有効になります。これどうやってするの?
user2976492
質問する
1435 次
6 に答える
1
例を挙げると...
XML ファイル:
<CheckBox android:id="@+idMain/check1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<CheckBox android:id="@+idMain/check2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<CheckBox android:id="@+idMain/check3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+idMain/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"/>
アクティビティ:
public class MainActivity extends Activity {
LinearLayout idLayoutThisXml;
Button btn;
public boolean verifyChecked(){
idLayoutThisXml = (LinearLayout) findViewById(idMain.layout);
for (int i = 0; i < idLayoutThisXml.getChildCount(); i++) {
View v = idLayoutThisXml.getChildAt(i);
if(v instanceof CheckBox){
if(((CheckBox)v).isChecked()){
return true;
}
}
}
return false;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(idMain.button);
if(verifyChecked()){
btn.setVisibility(View.VISIBLE);
}
else{
btn.setVisibility(View.INVISIBLE);
}
}
}
したがって、タイプ CheckBox の子を持つレイアウトがあり、テストはすべて CheckBox llinearLayout で、少なくとも 1 つのマークを満たします。ボタンが表示されます。
于 2013-11-11T19:15:34.963 に答える
1
このようなものでしょうか?
public class MainActivity extends Activity {
LinearLayout idLayoutThisXml;
Button btn;
public boolean verifyChecked(){
idLayoutThisXml = (LinearLayout) findViewById(idCadastro.linearLayout);
for (int i = 0; i < idLayoutThisXml.getChildCount(); i++) {
View v = idLayoutThisXml.getChildAt(i);
if(v instanceof CheckBox){
if(((CheckBox)v).isChecked()){
return true;
}
}
}
return false;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(idMain.button);
if(verifyChecked()){
btn.setVisibility(View.VISIBLE);
}
else{
btn.setVisibility(View.INVISIBLE);
}
}
}
于 2013-11-11T19:09:13.740 に答える
0
XMLにチェックボックスがありますか?アクティビティでcheckBoxを処理する
CheckBox c = (CheckBox) findViewById (idThisCheckBoxInXml)
と
if (c.isActivated ()) {
botao.setVisibility (View.INVISIBLE) or botao.setVisibility (View.VISIBLE)
}
このようなものでしょうか?私の悪い英語を許してください...
于 2013-11-11T18:46:48.230 に答える
0
ボタンの可視性を非表示に設定する
<Button android:id="@+id/mybutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello"
android:visibility="invisible"/>
それから電話する
Button btn = (Button)findViewById(R.id.thebuttonid);
btn.setVisibility(View.VISIBLE); //View.GONE, View.INVISIBLE are available too.
条件が満たされたとき。 http://developer.android.com/reference/android/view/View.html
于 2013-11-11T18:44:37.780 に答える
0
myButton.setVisibility(View.INVISIBLE);
そして、CheckBox
でOnClickListener
、myButton.setVisibility(View.VISIBLE);
于 2013-11-11T18:36:59.463 に答える