Add order history screen

This commit is contained in:
Nezumi
2023-03-06 21:47:02 +07:00
parent c9b48e84dd
commit 601f26d298
13 changed files with 261 additions and 10 deletions
@@ -0,0 +1,53 @@
package com.capstone.foodify.Activity;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager2.widget.ViewPager2;
import android.os.Bundle;
import com.capstone.foodify.Fragment.Order.ViewPagerAdapter;
import com.capstone.foodify.R;
import com.google.android.material.tabs.TabLayout;
public class OrderActivity extends AppCompatActivity {
TabLayout tabLayout;
ViewPager2 viewPager2;
ViewPagerAdapter viewPagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_order);
tabLayout = findViewById(R.id.tab_layout);
viewPager2 = findViewById(R.id.view_pager);
viewPagerAdapter = new ViewPagerAdapter(this);
viewPager2.setAdapter(viewPagerAdapter);
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager2.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
viewPager2.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
tabLayout.getTabAt(position).select();
}
});
}
}
@@ -0,0 +1,21 @@
package com.capstone.foodify.Fragment.Order;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.capstone.foodify.R;
public class CompleteOrderFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_complete_order, container, false);
}
}
@@ -0,0 +1,21 @@
package com.capstone.foodify.Fragment.Order;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.capstone.foodify.R;
public class ProgressOderFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_progress_order, container, false);
}
}
@@ -0,0 +1,21 @@
package com.capstone.foodify.Fragment.Order;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.capstone.foodify.R;
public class ShipOrderFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_ship_order, container, false);
}
}
@@ -0,0 +1,31 @@
package com.capstone.foodify.Fragment.Order;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.viewpager2.adapter.FragmentStateAdapter;
public class ViewPagerAdapter extends FragmentStateAdapter {
public ViewPagerAdapter(@NonNull FragmentActivity fragmentActivity) {
super(fragmentActivity);
}
@NonNull
@Override
public Fragment createFragment(int position) {
switch(position){
case 1:
return new ShipOrderFragment();
case 2:
return new CompleteOrderFragment();
default:
return new ProgressOderFragment();
}
}
@Override
public int getItemCount() {
return 3;
}
}
@@ -12,6 +12,7 @@ import androidx.fragment.app.Fragment;
import com.capstone.foodify.Activity.AccountAndProfileActivity;
import com.capstone.foodify.Activity.AddressManagerActivity;
import com.capstone.foodify.Activity.OrderActivity;
import com.capstone.foodify.Activity.SignUpActivity;
import com.capstone.foodify.R;
@@ -19,15 +20,16 @@ public class ProfileFragment extends Fragment {
Button btnSignUp;
LinearLayout account_and_profile, manage_address;
LinearLayout account_and_profile, manage_address, order_history;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View rootView = inflater.inflate(R.layout.fragment_profile, container, false);
btnSignUp = (Button) rootView.findViewById(R.id.sign_up_button);
account_and_profile = (LinearLayout) rootView.findViewById(R.id.account_and_profile);
manage_address = (LinearLayout) rootView.findViewById(R.id.manage_address);
btnSignUp = rootView.findViewById(R.id.sign_up_button);
account_and_profile = rootView.findViewById(R.id.account_and_profile);
manage_address = rootView.findViewById(R.id.manage_address);
order_history = rootView.findViewById(R.id.order_history);
btnSignUp.setOnClickListener(new View.OnClickListener() {
@Override
@@ -49,6 +51,13 @@ public class ProfileFragment extends Fragment {
startActivity(new Intent(getActivity(), AddressManagerActivity.class));
}
});
order_history.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(getActivity(), OrderActivity.class));
}
});
return rootView;
}
}