问题描述
我希望我的的DatePicker
按钮可以是无形的,在开始时。当我preSS我的魔力按钮,我想setVisibility(View.Visible);
这里的问题是,当我 setVisibility(View.GONE)
或 setVisibility(View.INVISIBLE)
没有什么变化和组分仍然是可见的。
最后的DatePicker DP2 =(DatePicker的)findViewById(R.id.datePick2);
最终按钮BTN2 =(按钮)findViewById(R.id.btnDate2);
dp2.setVisibility(View.GONE);
dp2.setVisibility(View.INVISIBLE);
btn2.setVisibility(View.GONE);
btn2.setVisibility(View.INVISIBLE);
btn2.setOnClickListener(新View.OnClickListener(){
公共无效的onClick(查看为arg0){
TextView的TXT2 =(TextView中)findViewById(R.id.txt2);
txt2.setText(你选择了+ dp2.getDayOfMonth()
+/+(dp2.getMonth()+ 1)+/+ dp2.getYear());
}
});
我看到相当多的东西是错误的。对于初学者,你没有你的魔法按钮定义并没有事件处理程序。
此外,你不应该使用:
dp2.setVisibility(View.GONE);
dp2.setVisibility(View.INVISIBLE);
使用只有一两个。从的Android文档:
在你的榜样,你是覆盖 View.GONE
分配与 View.INVISIBLE
之一。
尝试更换:
最后的DatePicker DP2 =新的DatePicker(本)
与
的DatePicker DP2 =(DatePicker的)findViewById(R.id.datePick2);
同样,对于其他部件:
公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的LinearLayout LL =新的LinearLayout(本);
ll.setOrientation(LinearLayout.VERTICAL);
最后的DatePicker DP2 =新的DatePicker(本);
最终按钮BTN2 =新的按钮(这一点);
最终按钮magicButton =新的按钮(这一点);
最后的TextView TXT2 =新的TextView(TestActivity.this);
dp2.setVisibility(View.GONE);
btn2.setVisibility(View.GONE);
btn2.setText(设定日期);
btn2.setOnClickListener(新View.OnClickListener(){
公共无效的onClick(查看为arg0){
txt2.setText(你选择了
+ dp2.getDayOfMonth()+/+(dp2.getMonth()+1)
+/+ dp2.getYear());
}
});
magicButton.setText(神奇按钮);
magicButton.setOnClickListener(新View.OnClickListener()
公共无效的onClick(查看为arg0){
dp2.setVisibility(View.VISIBLE);
btn2.setVisibility(View.VISIBLE);
}
});
ll.addView(DP2);
ll.addView(BTN2);
ll.addView(magicButton);
ll.addView(TXT2);
的setContentView(Ⅱ);
}
I want my DatePicker
and the button to be invisible in the begining. And when I press my magic button I want to setVisibility(View.Visible);
The problem here is when I setVisibility(View.GONE)
or setVisibility(View.INVISIBLE)
nothing changes and the component is still visible.
final DatePicker dp2 = (DatePicker) findViewById(R.id.datePick2);
final Button btn2 = (Button) findViewById(R.id.btnDate2);
dp2.setVisibility(View.GONE);
dp2.setVisibility(View.INVISIBLE);
btn2.setVisibility(View.GONE);
btn2.setVisibility(View.INVISIBLE);
btn2.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
TextView txt2 = (TextView) findViewById(R.id.txt2);
txt2.setText("You selected " + dp2.getDayOfMonth()
+ "/" + (dp2.getMonth() + 1) + "/" + dp2.getYear());
}
});
I see quite a few things wrong. For starters, you don't have your magic button defined and there is no event handler for it.
Also you shouldn't use:
dp2.setVisibility(View.GONE);
dp2.setVisibility(View.INVISIBLE);
Use only one the two. From Android documentation:
In your example, you are overriding the View.GONE
assignment with the View.INVISIBLE
one.
Try replacing:
final DatePicker dp2 = new DatePicker(this)
with:
DatePicker dp2 = (DatePicker) findViewById(R.id.datePick2);
Similarly for other widgets:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
final DatePicker dp2 = new DatePicker(this);
final Button btn2 = new Button(this);
final Button magicButton = new Button(this);
final TextView txt2 = new TextView(TestActivity.this);
dp2.setVisibility(View.GONE);
btn2.setVisibility(View.GONE);
btn2.setText("set Date");
btn2.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
txt2.setText("You selected "
+ dp2.getDayOfMonth() + "/" + (dp2.getMonth() + 1)
+ "/" + dp2.getYear());
}
});
magicButton.setText("Magic Button");
magicButton.setOnClickListener(new View.OnClickListener()
public void onClick(View arg0) {
dp2.setVisibility(View.VISIBLE);
btn2.setVisibility(View.VISIBLE);
}
});
ll.addView(dp2);
ll.addView(btn2);
ll.addView(magicButton);
ll.addView(txt2);
setContentView(ll);
}
这篇关于安卓:为什么setVisibility(View.GONE);或setVisibility(View.INVISIBLE);不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!