Я боролся с этой ошибкой в течение нескольких часов, и я не могу продолжить. Мне нужна ваша помощь здесь!Конструктор в действии не определен
Я пытаюсь заменить свой предыдущий TabNavigation на ActionBar на ViewPager в SDK21, глядя на комментарии в StackOverflow. Я нашел this webpage, где описано использование PagerTabStrip с примером, поэтому я попытался реализовать его в своей деятельности, однако я получаю странную ошибку.
Я попытался решить проблему Google, и все предложения на самом деле не применимы к моей проблеме (неправильные параметры в конструкторе - обычные ошибки). Я также воспроизвел ошибку с помощью простой Activity, чтобы избежать всего, что у меня было в моей предыдущей деятельности, но ошибка сохраняется. Я придаю вы здесь код, который я реплицируются изолированные:
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class TestActivity extends Activity {
CustomPagerAdapter mCustomPagerAdapter;
ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.adding_users_to_list);
mCustomPagerAdapter = new CustomPagerAdapter(getFragmentManager(), this.getApplicationContext());
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mCustomPagerAdapter);
}
class CustomPagerAdapter extends FragmentPagerAdapter {
Context mContext;
public CustomPagerAdapter(FragmentManager fm, Context context) {
super(fm);
mContext = context;
}
@Override
public Fragment getItem(int position) {
// Create fragment object
Fragment fragment = new DemoFragment();
// Attach some data to the fragment
// that we'll use to populate our fragment layouts
Bundle args = new Bundle();
args.putInt("page_position", position + 1);
// Set the arguments on the fragment
// that will be fetched in the
// [email protected]
fragment.setArguments(args);
return fragment;
}
@Override
public int getCount() {
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
return "Page " + (position + 1);
}
}
class DemoFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout resource that'll be returned
View rootView = inflater.inflate(R.layout.fragment_users, container, false);
// Get the arguments that was supplied when
// the fragment was instantiated in the
// CustomPagerAdapter
Bundle args = getArguments();
((TextView) rootView.findViewById(R.id.text_option)).setText("Page " + args.getInt("page_position"));
return rootView;
}
}
}
Я получаю в вызове конструктора следующее сообщение об ошибке:
«Конструктор TestActivity.CustomePageAdapter (FragmentManager, контекст) не определен»
в здесь:
mCustomPagerAdapter = new CustomPagerAdapter(getFragmentManager(), this.getApplicationContext());
Я попытался ввести адаптер снаружи и внутри определения активности и до сих пор не работает. Скорее всего, это будет что-то простое, но ... Я не вижу этого, и мне нужны другие глаза. Любая идея, что я делаю неправильно?
Это работает и дает более четкий ответ. –