私は1つのgridviewを作成し、カスタムアダプタを使用しました。グリッドビュー内に2つの画像を追加しました。もう1つは画像で、もう1つはクローズボタンのように見えます(これはすべてのグリッドビュー項目で同じです)。閉じるボタンは最初は非表示に設定されていますが、私は自分のアクティビティに別のボタンがあります。私はこのボタンをクリックすると、グリッドビューのすべての要素に閉じるボタンを設定したいと思いますが、それには何も起こりません。以下 は私のコードです:gridview要素の可視性を設定する
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
View MyView = convertView;
final int pos=position;
LayoutInflater li = (LayoutInflater) MyContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
MyView = li.inflate(R.layout.favor_item, null);
ImageView iv = (ImageView) MyView.findViewById(R.id.favor_item_image);
iv.setImageResource(favorSites.get(pos));
deleteFavorImage = (ImageView) MyView.findViewById(R.id.favDelete);
deleteFavorImage.setImageResource(R.drawable.dubtndelete);
return MyView;
}
そして最後に、これは私のXMLファイルのコードです:
ImageView deleteFavorImage;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.browser);
.....
GridView favorGrid = (GridView) findViewById(R.id.favorGrid);
favorGrid.setAdapter(adapter);
.....
View customView = findViewById(R.id.costumButton);
customView.setOnClickListener(this);
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.costumButton:
deleteFavorImage.setVisibility(View.VISIBLE);
break;
.....
}
これは私のイメージアダプターコードです
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="85dp"
android:layout_height="85dp"
android:orientation="vertical"
android:background="@drawable/dufavframe" >
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="75dp"
android:layout_height="75dp"
android:orientation="vertical"
android:layout_centerInParent="true"
android:gravity="center">
<com.test.favorsites.AspectRatioImageView android:layout_centerHorizontal="true"
android:id="@+id/favor_item_image"
android:layout_alignParentTop="true" android:layout_height="wrap_content"
android:layout_width="match_parent" android:adjustViewBounds="true"/>
</LinearLayout>
<ImageView android:id="@+id/favDelete" android:visibility="invisible"
android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_marginTop="-3dp"
android:layout_alignParentRight="true" android:layout_marginRight="-5dp">
</ImageView>
</RelativeLayout>
下に置くクラスでグローバルに
int positionSelected = 0;
そして、GridViewのクリックのリスナーに
そしてgetViewメソッドメソッド内の定義は、あなたにCapsLockキーの問題を得ましたか。 –