0

在我的活动中,一旦单击复选框,我希望 TextView 出现在复选框下方。我该怎么做。我是否需要创建一个新的活动来在复选框下方显示新的 TextView。或者我可以使用与以前相同的活动来完成此操作。

谢谢!

4

8 回答 8

3

添加TextView到您的布局并设置android:visibility="gone".

在您的设置中toonCheckboxClicked()的可见性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

This should help you. try this..

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 回答