0

私のアクティビティでは、チェックボックスがクリックされたら、TextViewをチェックボックスの下に表示したいと思います。どうすればいいですか。チェックボックスの下に新しいTextViewを表示する新しいアクティビティを作成する必要がありますか?または、これを達成するために以前と同じアクティビティを使用できますか?

ありがとう!

4

8 に答える 8

3

TextViewをレイアウトに追加して設定しますandroid:visibility="gone"

あなたのonCheckboxClicked()セットではTextViewVISIBLE

于 2012-10-08T07:03:06.070 に答える
2

新しいアクティビティを作成する必要はありません。レイアウトファイルにtextviewを追加し、非表示のままにしてください。チェックボックスをオンにすると、Textviewが表示されるようになります。

于 2012-10-08T07:01:56.327 に答える
2

あなたは同じ活動でそれを行うことができます

xmlで、CheckBoxの下にTextViewを作成し、yourTextView.visibility=gone

クラスに次のコードを記述します。

 yourCheckBox.setonClickListener=new onClickListener(){

            @Override
            public void onClick(View v) {
            if(checkBox.isChecked())
              yourTextView.setVisibility(View.VISIBLE);
            else
              yourTextView.setVisibility(View.GONE);

}

}
于 2012-10-08T07:08:43.780 に答える
1

onCheckedイベントでテキストボックスを作成する必要があります。

あなたはこれを参照することができます:

http://www.mysamplecode.com/2011/10/android-programmatically-generate.html

于 2012-10-08T07:02:04.733 に答える
1

これを試して:

    TextView tv;
 CheckBox cbS;
 OnClickListener checkBoxListener;
 checkBoxListener =new OnClickListener() {

 @Override
 public void onClick(View v) {
 tv=(TextView)findViewById(R.id.tvDetails);
 //by default keep textview visibility as invisible in xml file;
tv.setVisibility(View.GONE)
 };

 cbS.setOnClickListener(checkBoxListener);
于 2012-10-08T07:06:46.807 に答える
0

これはあなたを助けるはずです。これを試して..

checkBxAutomaticLogin
            .setOnCheckedChangeListener(new OnCheckedChangeListener() {
                public void onCheckedChanged(CompoundButton buttonView,
                        boolean isChecked) {
                    if (isChecked) {
                        ViewGroup automaticLoginLyt = (ViewGroup) findViewById(R.id.yourlayout);
                        LayoutInflater.from(SomeActivity.this).inflate(
                                R.layout.your_layout,
                                automaticLoginLyt, true);
                        editTxtUsername = (EditText) findViewById(R.id.edit_txt_user_name);
                        editTxtPassword = (EditText) findViewById(R.id.edit_txt_password);
                    } else {
                        ViewGroup automaticLoginLyt = (ViewGroup) findViewById(R.id.your_layout);
                        View v = automaticLoginLyt
                                .findViewById(R.id.your_layout);
                        if (v != null) {
                            automaticLoginLyt
                                    .removeView(v);
                        }
                    }
                }
            });
于 2012-10-16T05:47:24.977 に答える
0

あなたはこれを試すことができます

 holder.checkBox.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (holder.checkBox.isChecked()==true){

                holder.title.setPaintFlags(holder.title.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
            }
            else {

                holder.title.setPaintFlags(holder.title.getPaintFlags() & (~Paint.STRIKE_THRU_TEXT_FLAG));
            }
        }
    });
于 2017-05-07T20:21:11.510 に答える
0

これはあなたを助けることができると思います...

 holder.checkBox.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (holder.checkBox.isChecked()==true){

                holder.title.setPaintFlags(holder.title.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
            }
            else {

                holder.title.setPaintFlags(holder.title.getPaintFlags() & (~Paint.STRIKE_THRU_TEXT_FLAG));
            }
        }
    });
于 2017-05-07T20:28:45.890 に答える