Android 安卓:onclick不工作
我在我的应用程序中做了一个ImageAdapter,我希望文本视图下面的图像被隐藏。但是隐形不起作用。El的问题是什么都不能用信息。视图是否有问题。。。我需要帮助 XMLAndroid 安卓:onclick不工作,android,onclick,onclicklistener,Android,Onclick,Onclicklistener,我在我的应用程序中做了一个ImageAdapter,我希望文本视图下面的图像被隐藏。但是隐形不起作用。El的问题是什么都不能用信息。视图是否有问题。。。我需要帮助 XML <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <ima
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<imagenes.TouchImageView
android:id="@+id/imgDisplay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitCenter" />
<TextView
android:id="@+id/textoInfoImagen"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:background="@color/grisTransparente"
android:paddingTop="3dp"
android:paddingBottom="3dp"
android:text=""
android:textSize="13sp"
android:textColor="@color/gris"/>
</RelativeLayout>
info
是适配器的成员变量,不一定与单击的视图相同-覆盖每个项目的变量
onClick()
带有View v
参数,该参数是在其上单击的视图-callsetVisibility()
另外,
不可见
是一个成员变量,其问题与上述问题相同。如果要检查视图的当前可见性,请调用v.getVisibility()
。使用ImageView
(imgDisplay)键入.java类作为ImageView
而不是TouchImageView
在哪里设置单击侦听器?在xml中设置onclick,以便可以转到代码中的onclick方法问题是onclick不起作用
public class FullScreenImageAdapter extends PagerAdapter implements OnClickListener {
private Activity _activity;
private LayoutInflater inflater;
Context context;
String[] listaImagenes;
String monumento;
TouchImageView imgDisplay;
TextView info;
boolean invisible = false;
public FullScreenImageAdapter(Activity activity, Context context, String monumento) throws IOException {
this._activity = activity;
this.context = context;
this.monumento = monumento;
listaImagenes = context.getAssets().list(this.monumento);
}
@Override
public int getCount() {
return listaImagenes.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((RelativeLayout) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
inflater = (LayoutInflater) _activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View viewLayout = inflater.inflate(R.layout.ampliar_imagen, container,
false);
imgDisplay = (TouchImageView) viewLayout.findViewById(R.id.imgDisplay);
imgDisplay.setMaxZoom(4);
Bitmap bitmap = cargarImagen(monumento, position);
imgDisplay.setImageBitmap(bitmap);
info = (TextView) viewLayout.findViewById(R.id.textoInfoImagen);
info.setText((position + 1) + " de " + listaImagenes.length +
"\n" + InfoImagenes.devolverInfoImagenes(monumento, position));
imgDisplay.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(context, "click", Toast.LENGTH_SHORT).show();
if(invisible == true) {
invisible = false;
info.setVisibility(View.VISIBLE);
} else {
invisible = true;
info.setVisibility(View.INVISIBLE);
}
}
});
((ViewPager) container).addView(viewLayout);
return viewLayout;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((RelativeLayout) object);
}
public Bitmap cargarImagen(String monumento, int position) {
Bitmap bitmap = null;
InputStream is;
try {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
is = context.getAssets().open(monumento + "/" + listaImagenes[position]);
bitmap = BitmapFactory.decodeStream(is, null, options);
} catch (IOException e) {
}
return bitmap;
}
@Override
public void onClick(View v) {
}
}