一个GridView元素的可见性设置元素、见性、GridView

由网友(不懂感情狗)分享简介:我已创建了一个GridView和使用自定义适配器的。我加了两个图像内的电网view.one是图像和另外一个看起来像关闭按钮(这是在所有网格视图项目相同)。关闭按钮在开始时设置为不可见,我在我的活动另一个按钮,我想是:当我点击这个按钮,我想设置我网格视图中的每个元素的关闭按钮,但现在,点击时就可以了,没有任何反应。下面是...

我已创建了一个GridView和使用自定义适配器的。我加了两个图像内的电网view.one是图像和另外一个看起来像关闭按钮(这是在所有网格视图项目相同)。关闭按钮在开始时设置为不可见,我在我的活动另一个按钮,我想是:当我点击这个按钮,我想设置我网格视图中的每个元素的关闭按钮,但现在,点击时就可以了,没有任何反应。下面是我的code:

  ImageView的deleteFavorImage;    公共无效的onCreate(捆绑savedInstanceState){    super.onCreate(savedInstanceState);    的setContentView(R.layout.browser);    .....    GridView控件favorGrid =(GridView控件)findViewById(R.id.favorGrid);    favorGrid.setAdapter(适配器);    .....    查看customView = findViewById(R.id.costumButton);    customView.setOnClickListener(本);@覆盖公共无效的onClick(视图v){    开关(v.getId()){    案例R.id.costumButton:        deleteFavorImage.setVisibility(View.VISIBLE);    打破;    .....    } 

这是我的形象适配器code:

  @覆盖       公共查看getView(INT位置,查看convertView,父母的ViewGroup)       {           查看MyView的= convertView;           最终诠释POS =位置;           LayoutInflater李=(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);           返回MyView的;       } 

最后,这是我的XML文件code:

 <的RelativeLayout的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android机器人:layout_width =85dp机器人:layout_height =85dp机器人:方向=垂直机器人:背景=@绘制/ dufavframe>    < LinearLayout中的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android    机器人:layout_width =75dp    机器人:layout_height =75dp    机器人:方向=垂直    机器人:layout_centerInParent =真    机器人:比重=中心>    < com.test.favorsites.AspectRatioImageView机器人:layout_centerHorizo​​ntal =真        机器人:ID =@ + ID / favor_item_image        机器人:layout_alignParentTop =真正的机器人:layout_height =WRAP_CONTENT        机器人:layout_width =match_parent机器人:adjustViewBounds =真/>    < / LinearLayout中>    < ImageView的机器人:ID =@ + ID / favDelete机器人:知名度=隐形    机器人:layout_height =WRAP_CONTENT的android:layout_width =WRAP_CONTENT机器人:layout_marginTop = -  3DP    机器人:layout_alignParentRight =真正的机器人:layout_marginRight = -  5DP>    < / ImageView的>    < / RelativeLayout的> 
怎么在GridView点删除提示确认对话框 点确认时则删除,取消则不做任何操作

解决方案

  @覆盖公共无效的onClick(视图v){开关(v.getId()){案例R.id.costumButton:    adapter.updateView(1);打破;.....}公共类YourAdapter延伸BaseAdapter {     私人INT visibleFlag = 0;     ///     ////    公共无效更新视图(INT标志){        visibleFlag =标志;        notifydatasetchanged();    }   @覆盖   公共查看getView(INT位置,查看convertView,父母的ViewGroup)   {       查看MyView的= convertView;       最终诠释POS =位置;       LayoutInflater李=(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);       如果(visibleFlag == 1)            deleteFavorImage.setVisibility(View.VISIBLE);       deleteFavorImage.setImageResource(R.drawable.dubtndelete);       返回MyView的;   } 

I have created one gridview and use custom adapter for that. I added two images inside grid view.one is image and another one looks like close button (which is the same in all grid view items). the close button is set invisible in the beginning, i have another button in my activity, what i want is : when i click this button, i want to set the close button in every element of my grid view, but for now, when click on it, nothing happens. below is my code :

    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;
    .....
    }

This is my image adaptor code:

           @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;
       }

And finally this is my XML file code:

           <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>

解决方案

@Override
public void onClick(View v) {

switch(v.getId()){

case R.id.costumButton:
    adapter.updateView(1);
break;
.....
}

public class YourAdapter extends BaseAdapter { 
     private int visibleFlag = 0;
     ///
     ////
    public void updateView(int flag) {
        visibleFlag = flag;
        notifydatasetchanged();
    }
   @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);
       if (visibleFlag == 1)
            deleteFavorImage.setVisibility(View.VISIBLE);
       deleteFavorImage.setImageResource(R.drawable.dubtndelete);

       return MyView;
   }

阅读全文

相关推荐

最新文章