我应该在接收Activity作为参数的方法中添加什么内容?

时间:2017-07-11 16:02:55

标签: java android

这是我的方法,需要一个Activity作为参数。

 public  View getContentView(Activity ac){
            ViewGroup view = (ViewGroup)ac.getWindow().getDecorView();
            FrameLayout content = (FrameLayout)view.findViewById(android.R.id.content);
            return content.getChildAt(0);
        }

OneActivity.classOneActivity.this时,会遇到错误: MainActivity中的getContentView(android.app.Activity)无法应用于(java.lang.Class)。

oneView=getContentView();

我的整个代码:

public class MainActivity extends AppCompatActivity{
    private View oneView;
    private View twoView;
    private View threeView;
    private ArrayList<View> views;
    private ViewPager mViewPager;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        views = new ArrayList<View>();
        mViewPager = (ViewPager)findViewById(R.id.viewpager_main);
        initView();
        addViews();

        PagerAdapter mPagerAdapter = new PagerAdapter() {

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

            @Override
            public int getCount() {
                return views.size();
            }

        };

        mViewPager.setAdapter(mPagerAdapter);
    }

    /**
     * convert  acitivity to corresponding view
     */
    public void initView(){

        oneView=getContentView(OneActivity);
        twoView=getContentView(TwoActivity);
        threeView=getContentView(ThreeActivity);
    }



    /**
     * add views into list
     */
    public void addViews(){

        views.add(oneView);
        views.add(twoView);
        views.add(threeView);
    }

    public  View getContentView(Activity ac){
        ViewGroup view = (ViewGroup)ac.getWindow().getDecorView();
        FrameLayout content = (FrameLayout)view.findViewById(android.R.id.content);
        return content.getChildAt(0);
    }

}

我的想法是使用ViewPager实现侧滑以切换活动。

提前致谢!

2 个答案:

答案 0 :(得分:1)

它不适用于.class,你需要一个实例。 .t仅在从OneActivity中调用它时才有效。老实说,我问你为什么需要这个 - 如果你在活动本身,有更简单的方法(在充气后保存并在需要的地方通过)。如果您不参加活动,那么您不应该接触该活动的观点。

答案 1 :(得分:0)

尝试使用Context代替活动

df1.assign(**dict(df2.iteritems()))

   A  B  C  D
0  2  1  3  2
1  3  1  8  2
2  1  2  3  9