這是我需要一個Activity作爲參數的方法。我應該在接收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.class
或OneActivity.this
當,它滿足與錯誤: getContentView(android.app.Activity)在MainActivity不能被應用到(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實現側滑切換活動。
在此先感謝!
你能後的代碼的其餘部分? –
嗨,歡迎來到Stack Overflow,請閱讀如何創建[最小,完整和可驗證示例](https://stackoverflow.com/help/mcve),並檢查[如何提出好問題](https:/ /stackoverflow.com/help/how-to-ask),這樣你可以增加獲得反饋和有用答案的機會。 – DarkCygnus