【发布时间】:2018-08-12 16:18:07
【问题描述】:
我正在为我的应用程序而苦苦挣扎。它应该像下面这样工作。
每次我点击按钮时,它都会隐藏 id 为 pic1 的布局,如果它已经隐藏,当我再次点击按钮时它会取消隐藏。
但是,问题是每次我点击它,它都会回到之前的Activity。
这是我的布局中的 2 个布局和一个按钮。
<LinearLayout
android:id="@+id/backpic"
android:layout_width="350dp"
android:layout_height="425dp"
android:orientation="vertical"
android:layout_centerInParent="true"
android:layout_marginTop="70dp"
android:background="@drawable/back" />
<LinearLayout
android:id="@+id/frontpic"
android:layout_width="350dp"
android:layout_height="425dp"
android:orientation="vertical"
android:layout_centerInParent="true"
android:layout_marginTop="70dp"
android:background="@drawable/front" />
<Button
android:id="@+id/btnRotate"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:layout_centerInParent="true"
android:layout_marginBottom="20dp"
android:background="@drawable/rotate"
android:onClick="rotate"/>
如果按钮被点击,它将执行函数rotate()。
public class MusclesActivity extends AppCompatActivity {
Button btnRotate;
LinearLayout pic1,pic2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
btnRotate = (Button)findViewById(R.id.btnRotate);
pic1 = (LinearLayout)findViewById(R.id.frontpic);
pic2 = (LinearLayout)findViewById(R.id.backpic);
setContentView(R.layout.activity_muscles);
}
}
而函数rotate是
public void rotate(View views) {
if (pic1.getVisibility()==View.VISIBLE)
pic1.setVisibility(View.INVISIBLE);
else
pic1.setVisibility(View.VISIBLE);
}
我在这里做错了什么?
【问题讨论】:
-
显示调用旋转的代码。我的猜测是你每次都叫旋转两次。您可能想在旋转代码中添加打印跟踪。
-
你能把代码贴出来吗?如果它没有按返回按钮或以编程方式返回之前的活动,那就有点奇怪了。
-
点击代码在哪里?
标签: java android xml visibility