私は Android を学んでおり、ImageViews を含む FrameLayout を試していました。コードをクリックすると 2 つの画像を切り替える小さなアプリを実行しようとしました。コードは次のとおりです。
私のxmlは次のようになります:
>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Hola" >
<ImageView
android:id="@+id/segunda"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="metodosegunda"
android:scaleType="fitCenter"
android:src="@drawable/img1" />
<ImageView
android:id="@+id/primera"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="metodoprimera"
android:scaleType="fitCenter"
android:src="@drawable/img2" />
</FrameLayout>
そして私のメインプログラム:
public class Hola extends Activity {
ImageView primera;
ImageView segunda;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.teta_layout);
primera = (ImageView) findViewById(R.id.primera);
segunda = (ImageView) findViewById(R.id.segunda);
}
public void metodoprimera (View view){
primera.setVisibility(View.GONE);
segunda.setVisibility(View.VISIBLE);
}
public void metodosegunda (View view){
segunda.setVisibility(View.GONE);
primera.setVisibility(View.VISIBLE);
}
}
このプログラムは画像を表示し、クリックするとすぐにその画像を非表示にして別の画像を表示する必要があります。
問題は、これが機能しないことですが、xml でイメージビューの順序を切り替えるとすぐに機能し、なぜこのように機能しないのかがよくわかりません。
よろしくお願いします