私のアクティビティでは、チェックボックスがクリックされたら、TextViewをチェックボックスの下に表示したいと思います。どうすればいいですか。チェックボックスの下に新しいTextViewを表示する新しいアクティビティを作成する必要がありますか?または、これを達成するために以前と同じアクティビティを使用できますか?
ありがとう!
TextView
をレイアウトに追加して設定しますandroid:visibility="gone"
。
あなたのonCheckboxClicked()
セットではTextView
、VISIBLE
新しいアクティビティを作成する必要はありません。レイアウトファイルにtextviewを追加し、非表示のままにしてください。チェックボックスをオンにすると、Textviewが表示されるようになります。
あなたは同じ活動でそれを行うことができます
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);
}
}
onCheckedイベントでテキストボックスを作成する必要があります。
あなたはこれを参照することができます:
http://www.mysamplecode.com/2011/10/android-programmatically-generate.html
これを試して:
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));
}
}
});