gpt4 book ai didi

java - 我应该在接收 Activity 作为参数的方法中放置什么?

转载 作者:行者123 更新时间:2023-12-02 12:38:24 28 4
gpt4 key购买 nike

这是我的方法,需要一个 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来实现侧滑来切换Activity。

提前致谢!

最佳答案

它不适用于 .class,您需要一个实例。 .这仅在您从 OneActivity 调用它时才有效。老实说,我质疑为什么你需要这个 - 如果你参与 Activity 本身,有更简单的方法来做到这一点(在通货膨胀后将其保存并在需要的地方传递它)。如果您不在 Activity 中,那么无论如何您都不应该触摸该 Activity 的 View 。

关于java - 我应该在接收 Activity 作为参数的方法中放置什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45039505/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com