如何更改其他活动的按钮背景? [英] How to change buttons background from another activity ?

查看:72
本文介绍了如何更改其他活动的按钮背景?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有3个带有几个按钮的XML布局文件(在res中)。我在视图寻呼机中使用xml布局进入我的应用程序中的主要活动...现在我想在条件为真时更改按钮背景,怎么做?

我的应用程序图像:

[ ^ ]

这是我在XML布局中的按钮:

i have 3 XML layout file (in res) with several buttons . i use xml layouts in view pager into main activity in my app ... now i want change buttons background when my condition is true , how do it ?
this my app image :
[^]
this my button in XML layout :

<ir.rahgoshafan.alphabetpuzzle.customs.PuzzleButton  
                android:id="@+id/btn_green455"  
                android:layout_width="0dp"  
                android:layout_height="wrap_content"  
                android:layout_weight="0.33"  
                android:onClick="BTN_CLICK"  
                android:background="@drawable/button_red"  
                android:contentDescription="@string/app_name"  
                android:text="?????? ?????"  
                android:textColor="#fff"  
                android:textSize="20sp"  
                android:textStyle="bold" />  



并在主要活动中查看寻呼机:


and view pager in main activity :

private void init() {  
        ViewPager VIEW_PAGER = (ViewPager) findViewById(R.id.tour_view_pager);  
        DOTS_LAYOUT = (LinearLayout) findViewById(R.id.tour_layout_dots);  
        LAYOUTS = new int[]{R.layout.items_one, R.layout.items_two, R.layout.items_three};  
        addBottomDots(0);  
        TourViewPagerAdapter ViewPagerAdapter = new TourViewPagerAdapter();  
        VIEW_PAGER.setAdapter(ViewPagerAdapter);  
        VIEW_PAGER.addOnPageChangeListener(viewPagerPageChangeListener);  
    }  





我的尝试:

试试这个:



What I have tried:

in main activity try this :

final Button button = (Button) findViewById(R.id.btn_green455);
button.setBackgroundResource(R.layout.unlock_button);



但没有发生!


but no happen !

推荐答案

我试试这个:



i try this :

private void initViewPager() {
        ViewPager VIEW_PAGER = (ViewPager) findViewById(R.id.viewPager);
        LAYOUTS = new int[]{R.layout.fragment_one, R.layout.fragment_blank};
        TourViewPagerAdapter ViewPagerAdapter = new TourViewPagerAdapter();
        VIEW_PAGER.setAdapter(ViewPagerAdapter);
        VIEW_PAGER.addOnPageChangeListener(viewPagerPageCh  angeListener);
    }
 
    private class TourViewPagerAdapter extends PagerAdapter {
        private LayoutInflater layoutInflater;
 
        TourViewPagerAdapter() {
        }
 
        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            try {
                layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                View view = layoutInflater.inflate(LAYOUTS[position], container, false);
                Button btn_fragment = (Button)view.findViewById(R.id.btn_fragment);
               // Button btn_fragment_two = (Button)view.findViewById(R.id.btn_fragment_next);
              //  btn_fragment.setOnClickListener(new View.OnClickListener() {
//                    @Override
//                    public void onClick(View v) {
//                        Toast.makeText(getApplicationContext(), "show", Toast.LENGTH_SHORT).show();
//                    }
//                });
//                btn_fragment_two.setOnClickListener(new View.OnClickListener() {
//                    @Override
//                    public void onClick(View v) {
//                        Toast.makeText(getApplicationContext(), "this show 2", Toast.LENGTH_SHORT).show();
//                    }
//                });
                container.addView(view);
                return view;
            } catch (Exception e) {
                return null;
            }
        }
 
        @Override
        public int getCount() {
            return LAYOUTS.length;
        }
 
        @Override
        public boolean isViewFromObject(View view, Object obj) {
            return view == obj;
        }
 
        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            View view = (View) object;
            container.removeView(view);
        }
    }
 
    ViewPager.OnPageChangeListener viewPagerPageChangeListener = new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageSelected(int position) {
 
        }
 
        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {
 
        }
 
        @Override
        public void onPageScrollStateChanged(int arg0) {
 
        }
    };





但是当使用第一个片段(按钮)时,其他片段按钮会隐藏!!?



but when use first fragment (buttons) other fragment buttons be hide !!?


这篇关于如何更改其他活动的按钮背景?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆