For 3 days I suffer ... I have created a separate tabs and recyclerView separately, are now unified the. Launch does not start "Unfortunately" !!! What could be the problem?
MainActivity:
public class MainActivity extends AppCompatActivity {
private Toolbar toolbar;
private TabLayout tabLayout;
private ViewPager viewPager;
private int[] tabIcons = {
R.drawable.ic_action_person,
R.drawable.ic_action_group,
R.drawable.ic_action_call
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
viewPager = (ViewPager) findViewById(R.id.viewpager);
setupViewPager(viewPager);
tabLayout = (TabLayout) findViewById(R.id.tablayout);
tabLayout.setupWithViewPager(viewPager);
}
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new TabOneFragment(), "One");
adapter.addFragment(new TabTwoFragment(), "Two");
adapter.addFragment(new TabThreeFragment(), "Three");
viewPager.setAdapter(adapter);
}
}
TabOneFragment:
public class TabOneFragment extends Fragment {
private RecyclerView recyclerview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.tab_one_fragment, container, false);
recyclerview = (RecyclerView)view.findViewById(R.id.recyclerview);
LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
recyclerview.setLayoutManager(layoutManager);
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
ArrayList<TicketObjects> items = new ArrayList<>();
RVAdapter adapter = new RVAdapter(items);
recyclerview.setAdapter(adapter);
}
}
RVAdapter:
public class RVAdapter extends RecyclerView.Adapter<RVAdapter.ItemViewHolder> {
private List<TicketObjects> mItems;
public RVAdapter(List<TicketObjects> mItems) {
this.mItems = mItems;
}
public class ItemViewHolder extends RecyclerView.ViewHolder {
TextView departCode;
TextView departTime;
TextView departDate;
TextView arriveCode;
TextView arriveTime;
TextView arriveDate;
TextView flyTime;
Button ticketPrice;
ImageView airlineLogo;
public ItemViewHolder(View itemView) {
super(itemView);
departCode = (TextView) itemView.findViewById(R.id.tvAirCodeDepart);
departTime = (TextView) itemView.findViewById(R.id.tvDepartTime);
departDate = (TextView) itemView.findViewById(R.id.tvDepartDate);
arriveCode = (TextView) itemView.findViewById(R.id.tvCodeArrive);
arriveTime = (TextView) itemView.findViewById(R.id.tvArriveTime);
arriveDate = (TextView) itemView.findViewById(R.id.tvArriveDate);
flyTime = (TextView) itemView.findViewById(R.id.tvTime);
ticketPrice = (Button) itemView.findViewById(R.id.btnTickPrice);
airlineLogo = (ImageView) itemView.findViewById(R.id.ivAirlineLogo);
}
}
@Override
public void onBindViewHolder(ItemViewHolder itemViewHolder, int i) {
itemViewHolder.departCode.setText(mItems.get(i).getDepartCode());
itemViewHolder.departTime.setText(mItems.get(i).getDepartTime());
itemViewHolder.departDate.setText(mItems.get(i).getDepartDate());
itemViewHolder.arriveCode.setText(mItems.get(i).getArriveCode());
itemViewHolder.arriveTime.setText(mItems.get(i).getArriveTime());
itemViewHolder.arriveDate.setText(mItems.get(i).getArriveDate());
itemViewHolder.flyTime.setText(mItems.get(i).getFlyTime());
itemViewHolder.ticketPrice.setText(mItems.get(i).getTicketPrice());
itemViewHolder.airlineLogo.setImageResource(mItems.get(i).getAirlineLogo());
}
@Override
public ItemViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.list_row, viewGroup, false);
return new ItemViewHolder(view);
}
@Override
public int getItemCount() {
return mItems.size();
}
}
TicketsObjects
public class TicketObjects {
private String departCode;
private String departTime;
private String departDate;
private String arriveCode;
private String arriveTime;
private String arriveDate;
private String flyTime;
private String ticketPrice;
private int airlineLogo;
public TicketObjects(String departCode, String departTime, String departDate,
String arriveCode, String arriveTime, String arriveDate,
String flyTime, String ticketPrice, int airlineLogo) {
this.departCode = departCode;
this.departTime = departTime;
this.departDate = departDate;
this.arriveCode = arriveCode;
this.arriveTime = arriveTime;
this.arriveDate = arriveDate;
this.flyTime = flyTime;
this.ticketPrice = ticketPrice;
this.airlineLogo = airlineLogo;
}
public String getDepartCode(){
return departCode;
}
public void setDepartCode(String departCode){
this.departCode = departCode;
}
public String getDepartTime(){
return departTime;
}
public void setDepartTime(String departTime){
this.departTime = departTime;
}
public String getDepartDate(){
return departDate;
}
public void setDepartDate(String departDate){
this.departDate = departDate;
}
public String getArriveCode(){
return arriveCode;
}
public void setArriveCode(String arriveCode){
this.arriveCode = arriveCode;
}
public String getArriveTime(){
return arriveTime;
}
public void setArriveTime(String arriveTime){
this.arriveTime = arriveTime;
}
public String getArriveDate(){
return arriveDate;
}
public void setArriveDate(String arriveDate){
this.arriveDate = arriveDate;
}
public String getFlyTime(){
return flyTime;
}
public void setFlyTime(String flyTime){
this.flyTime = flyTime;
}
public String getTicketPrice(){
return ticketPrice;
}
public void setTicketPrice(String ticketPrice){
this.ticketPrice = ticketPrice;
}
public int getAirlineLogo(){
return airlineLogo;
}
public void setAirlineLogo(int airlineLogo){
this.airlineLogo = airlineLogo;
}
}
Error:
recyclerview.MainActivity}: java.lang.IllegalArgumentException: AppCompat does not support the current theme features: { windowActionBar: false, windowActionBarOverlay: false, android:windowIsFloating: false, windowActionModeOverlay: false, windowNoTitle: false }
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features: { windowActionBar: false, windowActionBarOverlay: false, android:windowIsFloating: false, windowActionModeOverlay: false, windowNoTitle: false }
at android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:421)
at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:278)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:252)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109)
at com.tutorialsbuzz.recyclerview.MainActivity.onCreate(MainActivity.java:30)
at android.app.Activity.performCreate(Activity.java:5008)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Theme:
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/actionBarColor</item>
<item name="colorPrimaryDark">@color/titleBarColor</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowActionBar">false</item>
</style>