Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将AppCompatActivity更改为片段_Java_Android_Android Fragments_Fragment - Fatal编程技术网

Java 如何将AppCompatActivity更改为片段

Java 如何将AppCompatActivity更改为片段,java,android,android-fragments,fragment,Java,Android,Android Fragments,Fragment,我是开发android应用程序的新手。我的选项卡使用片段,但我遵循使用AppCompatActivity的教程,不能将它们组合在一起。我想学习如何将AppCompatActivity更改为片段 下面是我的一些代码: UserInfo.java此部分应使用片段 public class UserInfo extends AppCompatActivity{ @Bind(R.id.passport_type) BetterSpinner spinner_passport;

我是开发android应用程序的新手。我的选项卡使用片段,但我遵循使用AppCompatActivity的教程,不能将它们组合在一起。我想学习如何将AppCompatActivity更改为片段

下面是我的一些代码:

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);
    }

}
new 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)

我真的很想学习如何改变片段任何教程或任何帮助将不胜感激。非常感谢!如果需要的话,我会上传更多的细节。

你需要弄清楚Butterknife是如何在片段中工作的,但我认为你很接近了,你需要这个

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' 

无论您在哪里遇到此
错误,请将其更改为
getActivity()
,并且
getActivity().getResources()

查找有关片段的任何教程。。。您的错误是无法将AppCompative加载到ViewPager中。暂时忘掉转换,了解如何制作和显示一个简单片段
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'