[英]How to Change AppCompatActivity to Fragment
我是開發Android應用程序的新手。 我的選項卡使用片段,但我遵循使用AppCompatActivity的教程不能將它們結合在一起。 我想學習如何將AppCompatActivity更改為Fragment。
有一些代碼:
UserInfo.java這部分應該使用片段。
public class UserInfo extends AppCompatActivity{
@Bind(R.id.passport_type)
BetterSpinner spinner_passport;
public UserInfo() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.user_info);
ButterKnife.bind(this);
String[] list = getResources().getStringArray(R.array.passport_type);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, list);
spinner_passport.setAdapter(adapter);
}
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.user_info, container, false);
}
}
這是發生錯誤的代碼:
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new UserInfo(), "個人信息");
adapter.addFragment(new TwoFragment(), "健康信息");
adapter.addFragment(new ThreeFragment(), "個人證件");
viewPager.setAdapter(adapter);
}
新的UserInfo()有錯誤。 錯誤消息是:
Wrong 1st argument type. Found: 'com.chinatown.wangjian.chinatown_userprofile.UserInfo', required: 'android.support.v4.app.Fragment' less...
addFragment
(android.support.v4.app.Fragment,
String)
in ViewPagerAdapter cannot be applied
to
(com.chinatown.wangjian.chinatown_userprofile.UserInfo,
String)
我真的想學習如何將Fragment更改為任何教程,否則將不勝感激。 非常感謝! 如果需要,我會上傳更多詳細信息。
您需要弄清楚Butterknife是如何在Fragments中工作的,但是我認為您已經接近了,您需要使用它
class UserInfo extends Fragment
(並確保您導入android.support.v4.app.Fragment
)
然后,最好將所有代碼從onCreate移到OnCreateView並重新組織代碼,如下所示
View v = inflater.inflate(R.layout.user_info, container, false);
// TODO: v.findViewById(R.id.passport_type)
// TODO: Set the adapter
return v; // this replaces 'setContentView'
無論你得到一個錯誤與this
,將其更改為getActivity()
也getActivity().getResources()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.