0
源代码:https://github.com/jamesmccann/android-view-pager-cards/blob/master/app/src/main/java/nz/jamesmccann/cardviewpager/CardActivity.java 我下载它,它不工作,所以我复制在我的项目。但发生了一些错误,我不知道如何修复,虽然我搜索了很多次。 这是CarContainerFragment:android:如何修复错误的构造函数CardPagerAdapter在类CardsActivity.CardPagerAdapter不能应用于给定的类型
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class CardContainerFragment extends Fragment {
private boolean cardFlipped = false;
public CardContainerFragment() {
setHasOptionsMenu(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragmentcardcontainer, container, false);
getChildFragmentManager()
.beginTransaction()
.add(R.id.container, new CardFrontFragment())
.commit();
return rootView;
}
public void flipCard() {
Fragment newFragment;
if (cardFlipped) {
newFragment = new CardFrontFragment();
} else {
newFragment = new CardBackFragment();
}
getChildFragmentManager()
.beginTransaction()
.setCustomAnimations(
R.anim.card_flip_right_in, R.anim.card_flip_right_out,
R.anim.card_flip_left_in, R.anim.card_flip_left_out)
.replace(R.id.container, newFragment)
.commit();
cardFlipped = !cardFlipped;
}
public static class CardFrontFragment extends Fragment {
public CardFrontFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragmentcard, container, false);
return rootView;
}
}
public static class CardBackFragment extends Fragment {
public CardBackFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_card_back, container, false);
return rootView;
}
}
}
这是CardsActivity:
import android.app.Activity;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v4.app.FragmentPagerAdapter;
public class CardsActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activitycard);
CardPagerAdapter adapter = new CardPagerAdapter(getFragmentManager());
ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
viewPager.setAdapter(adapter);
}
public class CardPagerAdapter extends FragmentPagerAdapter {
public CardPagerAdapter(FragmentManager fragmentManager) {
super(fragmentManager);
}
@Override
public Fragment getItem(int position) {
return new Fragment();
}
@Override
public int getCount() {
return 5;
}
}
}
这是错误,我得到:
Error:(24, 36) error: constructor CardPagerAdapter in class CardsActivity.CardPagerAdapter cannot be applied to given types;
required: android.support.v4.app.FragmentManager
found: android.app.FragmentManager
reason: actual argument android.app.FragmentManager cannot be converted to android.support.v4.app.FragmentManager by method invocation conversion
我没有看到getSupportFragmentManager()虽然我添加了android.support.v4.app.FragmentActivity。 – Alice
它在这里https://developer.android.com/reference/android/support/v4/app/FragmentActivity.html#getSupportFragmentManager()只是扩展你的活动类'公共类CardsActivity extends FragmentActivity {' – pleft
非常感谢! !有效。 – Alice