在我的活動中,我希望一個複選框被點擊後,TextView出現在複選框下方。我應該如何做到這一點。我是否需要創建一個新的活動,以在複選框下方顯示新的TextView。或者我可以像以前一樣使用相同的活動來完成此任務。一旦創建一個TextView複選框被點擊
謝謝!
在我的活動中,我希望一個複選框被點擊後,TextView出現在複選框下方。我應該如何做到這一點。我是否需要創建一個新的活動,以在複選框下方顯示新的TextView。或者我可以像以前一樣使用相同的活動來完成此任務。一旦創建一個TextView複選框被點擊
謝謝!
你可以在XML做到這一點在同一個活動
下面創建CheckBox和yourTextView.visibility=gone
TextView的
在你的班級編寫下面的代碼:
yourCheckBox.setonClickListener=new onClickListener(){
@Override
public void onClick(View v) {
if(checkBox.isChecked())
yourTextView.setVisibility(View.VISIBLE);
else
yourTextView.setVisibility(View.GONE);
}
}
不需要創建新的活動。只需在佈局文件中添加textview並保持它不可見。當您選中複選框時,只需使該Textview可見即可。
您必須在onChecked事件中創建文本框。
你可以參考這個:
http://www.mysamplecode.com/2011/10/android-programmatically-generate.html
添加TextView
到您的佈局和設置android:visibility="gone"
。
在你onCheckboxClicked()
設置TextView
的知名度,VISIBLE
試試這個:
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);
這應該對你有幫助。試試這個..
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);
}
}
}
});
你可以試試這個
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));
}
}
});
,我認爲這可以幫助你......
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));
}
}
});
我現在能夠做出的TextView後出現的框檢查。但現在問題是,當再次取消選中該框時,TextView仍然可見。我希望TextViewto只有在框被選中時纔可見。我該如何糾正?謝謝 – Ankush
是檢查新的編輯代碼 這可能有助於:) – Syn3sthete