单击创建一次TextView复选框

时间:2012-10-08 06:58:11

标签: android checkbox textview

在我的活动中,我希望在单击复选框后,TextView会显示在复选框下方。我该怎么做我是否需要创建一个新活动,该活动将在复选框下方显示新的TextView。或者我可以像以前一样使用相同的活动来完成此任务。

谢谢!

8 个答案:

答案 0 :(得分:3)

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

onCheckboxClicked()设置TextViewVISIBLE的可见性

答案 1 :(得分:2)

无需创建新活动。只需在布局文件中添加textview并使其保持不可见..当您选中复选框时,只需将Textview显示即可。

答案 2 :(得分: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);

}

}

答案 3 :(得分:1)

您必须在onChecked事件中创建文本框。

你可以参考:

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

答案 4 :(得分: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);

答案 5 :(得分: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);
                        }
                    }
                }
            });

答案 6 :(得分: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));
            }
        }
    });

答案 7 :(得分: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));
            }
        }
    });