在我的活动中,我希望在单击复选框后,TextView会显示在复选框下方。我该怎么做我是否需要创建一个新活动,该活动将在复选框下方显示新的TextView。或者我可以像以前一样使用相同的活动来完成此任务。
谢谢!
答案 0 :(得分:3)
将TextView
添加到您的布局并设置android:visibility="gone"
。
在onCheckboxClicked()
设置TextView
到VISIBLE
的可见性
答案 1 :(得分:2)
无需创建新活动。只需在布局文件中添加textview并使其保持不可见..当您选中复选框时,只需将Textview显示即可。
答案 2 :(得分:2)
你可以在同一个活动中做到这一点
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));
}
}
});