我是Android上的新手。你能帮我这个吗?
我想隐藏或显示布局中的按钮,但不是在单击时。
我的意思是,当布局出现时,按钮会显示或隐藏,具体取决于java中的if
条件。
xml是:
<Button
android:layout_width="@dimen/icon_width1"
android:layout_height="@dimen/icon_width1"
android:id = "@+id/button1"
android:background="@drawable/facebook"
android:paddingRight="@dimen/space_1"
android:onClick="browser1"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="10dp"
/>
在我的DetailActivity.java中我有一个函数
public void browser1(View view) {
Intent browserIntent=new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.twitter.com"));
startActivity(browserIntent);
}
有人可以帮忙吗? 此致!
答案 0 :(得分:3)
@ A.Omar首先,您必须在布局xml文件中定义一个按钮,如下所示
<Button
android:layout_width="wrap_content"
android:text="Test Button"
android:id="@+id/testButtonId"
android:layout_height="wrap_content" />
然后在您的活动类中,在onCreate方法中以实用方式获取按钮,并在按钮布局出现时设置按钮的可见性。像这样
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mylayout);
Button testButton=(Button)findViewById(R.id.testButtonId);
if (testButton.getVisibility()==View.VISIBLE){
testButton.setVisibility(View.GONE);
}else {
testButton.setVisibility(View.VISIBLE);
}
}
注意请确保您没有两个onCreate方法,否则您将获得错误onCreate方法已定义。
答案 1 :(得分:1)
您必须使用分配给XML按钮的ID,在Java代码中找到它,然后才能显示/隐藏它。
代码如下所示:
Button myButton = (Button) findViewById(R.id.button1);
因此,Activity中的onCreate()代码如下所示:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mylayout);
Button myButton = (Button) findViewById(R.id.button1);
if(shouldShowButton()) {
myButton.setVisibility(View.VISIBLE);
} else {
myButton.setVisibility(View.GONE);
}
}