0

この人たちを助けてください、私は立ち往生しています

私はビューページャーで作業しています。ここでは、ボタンをクリックすると表示されるように線形レイアウトを変更する必要がありますが、visibilty プロパティは機能していないようです。

これが私のコードです

public class MyPagerAdapter extends PagerAdapter {

        @Override
        public Object instantiateItem(final View collection, final int position) {
            Log.d("Inside", "Pager");
            PagerView = new View(collection.getContext());
            LayoutInflater inflater = (LayoutInflater) collection.getContext()
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            PagerView = inflater.inflate(R.layout.bigimage, null);
            imgSubmenu = (ScalableImageView)PagerView.findViewById(R.id.imgSubMenu);
            btnBack = (Button)PagerView.findViewById(R.id.btnBack);
            btnCart = (Button) PagerView.findViewById(R.id.btnCart);
            btnCallWaiter = (Button) PagerView.findViewById(R.id.btnCallWaiter);
            btnPayBill = (Button) PagerView.findViewById(R.id.btnPayBill);
            btnReadMore = (Button) PagerView.findViewById(R.id.btnReadMore);
            btnAddtoOrder = (Button) PagerView.findViewById(R.id.btnAddtoOrder);
            tvSubMenuName = (TextView) PagerView.findViewById(R.id.tvSubMenuName);
            tvDescption = (TextView) PagerView.findViewById(R.id.tvDescrption);
            readLayout=(LinearLayout)PagerView.findViewById(R.id.readLayout);
            font = Typeface.createFromAsset(MenuSelectionActivity.this.getAssets(),
                    "fonts/BEBAS___.ttf");
            btnBack.setTypeface(font, Typeface.BOLD);
            btnCallWaiter.setTypeface(font, Typeface.BOLD);
            btnPayBill.setTypeface(font, Typeface.BOLD);
            btnReadMore.setTypeface(font, Typeface.BOLD);
            tvSubMenuName.setTypeface(font, Typeface.BOLD);
            btnReadMore.setTypeface(font, Typeface.BOLD);
            tvDescption.setTypeface(font, Typeface.BOLD);
            btnAddtoOrder.setTypeface(font, Typeface.BOLD);
            ((ViewPager) collection).addView(PagerView, 0);
            DisplayItem(position);
            btnReadMore.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Log.d("readtype",""+readtype);
                    if(readtype==0)
                    {
                        readLayout.setVisibility(View.GONE);
                        btnReadMore.setText("READ MORE");
                        btnReadMore.setBackgroundResource(drawable.readmore);
                        readtype=1;

                    }
                    else
                    {
                        readLayout.setVisibility(View.VISIBLE);
                        btnReadMore.setText("READ LESS");
                        btnReadMore.setBackgroundResource(drawable.readless);                   
                        readtype=0;
                    }
                }
            });
            btnBack.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    finish();
                }
            });
            return PagerView;
        }

        @Override
        public void destroyItem(final View arg0, final int arg1,
                final Object arg2) {
            ((ViewPager) arg0).removeView((View) arg2);

        }

        @Override
        public boolean isViewFromObject(final View arg0, final Object arg1) {
            return arg0 == ((View) arg1);

        }

        @Override
        public void finishUpdate(View arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void restoreState(Parcelable arg0, ClassLoader arg1) {
            // TODO Auto-generated method stub

        }

        @Override
        public Parcelable saveState() {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public void startUpdate(View arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return SubMenuIdList.size();
        }

    } 

誰でも私を助けてください。

4

1 に答える 1

0

あなたのコードは正しいと思います。int で可視性を設定しようとしましたか?

setVisibility(0) -> visible  or setVisibility(View.VISIBLE)
setVisibility(4) -> invisible or setVisibility(View.INVISIBLE)
setVisibility(8) -> gone or setVisibility(View.GONE)
于 2013-10-25T12:58:40.343 に答える