Search, Test, Select 프래그먼트 액티비티 추가

This commit is contained in:
DESKTOP-1A3P75F\lee
2022-08-19 03:01:58 +09:00
parent 9cb31437e3
commit caf98eeadc
12 changed files with 527 additions and 31 deletions

View File

@@ -7,8 +7,11 @@ import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.qtagger.Activity.NavigationActivity;
import com.qtagger.R;
import com.qtagger.util.DataManager;
/**
* A simple {@link Fragment} subclass.
@@ -25,6 +28,7 @@ public class SearchFragment extends Fragment {
// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
private DataManager dataManager = DataManager.getInstance();
public SearchFragment() {
// Required empty public constructor
@@ -60,7 +64,32 @@ public class SearchFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_search,container,false);
TextView txt = view.findViewById(R.id.textViewAccountAccTitle);
txt.setText(dataManager.testEnum.label()+"조회");
view.findViewById(R.id.imageFilterButton_Back).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((NavigationActivity) getActivity()).changeFragmentSelect();
}
});
view.findViewById(R.id.button_바코드).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
view.findViewById(R.id.button_방폐물목록).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_search, container, false);
return view;
}
}

View File

@@ -2,20 +2,27 @@ package com.qtagger.Activity.NaviFragment;
import android.os.Bundle;
import androidx.constraintlayout.utils.widget.ImageFilterButton;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.Toast;
import com.qtagger.Activity.NavigationActivity;
import com.qtagger.Data.TestEnum;
import com.qtagger.R;
import com.qtagger.util.DataManager;
/**
* A simple {@link Fragment} subclass.
* Use the {@link SelectFragment#newInstance} factory method to
* create an instance of this fragment.
*/
public class SelectFragment extends Fragment {
public class SelectFragment extends Fragment {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
@@ -25,6 +32,7 @@ public class SelectFragment extends Fragment {
// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
private DataManager dataManager = DataManager.getInstance();
public SelectFragment() {
// Required empty public constructor
@@ -60,7 +68,43 @@ public class SelectFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_select,container,false);
view.findViewById(R.id.button_발생지특성검사).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dataManager.testEnum = TestEnum.발생지특성검사;
((NavigationActivity) getActivity()).changeFragmentNaviSelect();
}
});
view.findViewById(R.id.button_예비검사).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dataManager.testEnum = TestEnum.예비검사;
((NavigationActivity) getActivity()).changeFragmentNaviSelect();
}
});
view.findViewById(R.id.button_인수검사).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dataManager.testEnum = TestEnum.인수검사;
((NavigationActivity) getActivity()).changeFragmentNaviSelect();
}
});
view.findViewById(R.id.button_처분검사).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dataManager.testEnum = TestEnum.처분검사;
((NavigationActivity) getActivity()).changeFragmentNaviSelect();
}
});
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_select, container, false);
return view;
}
}

View File

@@ -7,8 +7,11 @@ import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.qtagger.Activity.NavigationActivity;
import com.qtagger.R;
import com.qtagger.util.DataManager;
/**
* A simple {@link Fragment} subclass.
@@ -25,6 +28,7 @@ public class TestFragment extends Fragment {
// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
private DataManager dataManager = DataManager.getInstance();
public TestFragment() {
// Required empty public constructor
@@ -60,7 +64,51 @@ public class TestFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_test,container,false);
TextView txt = view.findViewById(R.id.textViewAccountAccTitle);
txt.setText(dataManager.testEnum.label()+"검사");
//selectFragment로 이동
view.findViewById(R.id.imageFilterButton_Back).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((NavigationActivity) getActivity()).changeFragmentSelect();
}
});
view.findViewById(R.id.button_표면).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
view.findViewById(R.id.button_1m).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
view.findViewById(R.id.button_무게).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
view.findViewById(R.id.button_채움률).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
view.findViewById(R.id.button_사진).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_test, container, false);
return view;
}
}

View File

@@ -13,8 +13,10 @@ import android.widget.Toast;
import com.google.android.material.bottomnavigation.BottomNavigationView;
import com.google.android.material.internal.NavigationMenu;
import com.qtagger.Activity.NaviFragment.SearchFragment;
import com.qtagger.Activity.NaviFragment.SelectFragment;
import com.qtagger.Activity.NaviFragment.SettingFragment;
import com.qtagger.Activity.NaviFragment.TestFragment;
import com.qtagger.Data.TestEnum;
import com.qtagger.R;
import com.qtagger.databinding.ActivityMainBinding;
import com.qtagger.util.DataManager;
@@ -22,49 +24,109 @@ import com.qtagger.util.DataManager;
public class NavigationActivity extends AppCompatActivity {
private final long finishtimeed = 1000;
private long presstime = 0;
private FragmentManager fragmentManager = getSupportFragmentManager();
private TestFragment testFragment = new TestFragment();
private SearchFragment searchFragment = new SearchFragment();
private SettingFragment settingFragment = new SettingFragment();
private SelectFragment selectFragment = new SelectFragment();
private DataManager dataManager = DataManager.getInstance();
public BottomNavigationView bottomNavigationView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_navigation);
dataManager.fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(R.id.frame, testFragment).commitAllowingStateLoss();
FragmentTransaction transaction = dataManager.fragmentManager.beginTransaction();
transaction.replace(R.id.frame, selectFragment).commitAllowingStateLoss();
BottomNavigationView bottomNavigationView = findViewById(R.id.nav_view);
bottomNavigationView = findViewById(R.id.nav_view);
bottomNavigationView.setOnNavigationItemSelectedListener(new ItemSelectedListener());
}
class ItemSelectedListener implements BottomNavigationView.OnNavigationItemSelectedListener {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
FragmentTransaction transaction = fragmentManager.beginTransaction();
switch (menuItem.getItemId()) {
case R.id.navigation_test:
transaction.replace(R.id.frame, testFragment).commitAllowingStateLoss();
break;
case R.id.navigation_search:
transaction.replace(R.id.frame, searchFragment).commitAllowingStateLoss();
break;
case R.id.navigation_setting:
transaction.replace(R.id.frame, settingFragment).commitAllowingStateLoss();
break;
}
FragmentTransaction transaction = dataManager.fragmentManager.beginTransaction();
changeFragment(menuItem.getItemId());
return true;
}
}
public void changeFragment(int itemId)
{
FragmentTransaction transaction = dataManager.fragmentManager.beginTransaction();
switch (itemId) {
case R.id.navigation_test:
if(dataManager.testEnum == TestEnum.선택안함) {
transaction.replace(R.id.frame, selectFragment).commitAllowingStateLoss();
Toast.makeText(getApplicationContext(), "검사 단계를 선택해주세요", Toast.LENGTH_SHORT).show();
}
else {
transaction.replace(R.id.frame, testFragment).commitAllowingStateLoss();
}
break;
case R.id.navigation_search:
if(dataManager.testEnum == TestEnum.선택안함) {
transaction.replace(R.id.frame, selectFragment).commitAllowingStateLoss();
Toast.makeText(getApplicationContext(), "검사 단계를 선택해주세요", Toast.LENGTH_SHORT).show();
}
else {
transaction.replace(R.id.frame, searchFragment).commitAllowingStateLoss();
}
break;
case R.id.navigation_setting:
transaction.replace(R.id.frame, settingFragment).commitAllowingStateLoss();
break;
}
}
public void changeFragmentNaviSelect()
{
switch (bottomNavigationView.getSelectedItemId()) {
case R.id.navigation_test:
changeFragmentTest();
break;
case R.id.navigation_search:
changeFragmentSearch();
break;
}
}
public void changeFragmentTest()
{
FragmentTransaction transaction = dataManager.fragmentManager.beginTransaction();
transaction.replace(R.id.frame, testFragment).commitAllowingStateLoss();
}
public void changeFragmentSelect()
{
FragmentTransaction transaction = dataManager.fragmentManager.beginTransaction();
transaction.replace(R.id.frame, selectFragment).commitAllowingStateLoss();
}
public void changeFragmentSetting()
{
FragmentTransaction transaction = dataManager.fragmentManager.beginTransaction();
transaction.replace(R.id.frame, settingFragment).commitAllowingStateLoss();
}
public void changeFragmentSearch()
{
FragmentTransaction transaction = dataManager.fragmentManager.beginTransaction();
transaction.replace(R.id.frame, searchFragment).commitAllowingStateLoss();
}
@Override
public void onBackPressed() {

View File

@@ -0,0 +1,14 @@
package com.qtagger.Data;
public enum TestEnum {
선택안함("선택안함"),발생지특성검사("발생지특성"),예비검사("예비"),인수검사("인수"),처분검사("처분");
private final String label;
TestEnum(String label) {
this.label = label;
}
public String label() {
return label;
}
}

View File

@@ -1,11 +1,16 @@
package com.qtagger.util;
import androidx.fragment.app.FragmentManager;
import com.qtagger.Data.TestEnum;
import com.qtagger.Database.Account;
public class DataManager {
private DataManager(){}
public Account loginAccount;
public FragmentManager fragmentManager;
public TestEnum testEnum = TestEnum.선택안함;
private static class DataManagerHolder{
public static final DataManager INSTANCE = new DataManager();

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- #f5f5f5" 색으로 채움 -->
<solid
android:color="#CFD9FB"/>
<corners
android:bottomLeftRadius="12dp"
android:bottomRightRadius="12dp"
android:topLeftRadius="12dp"
android:topRightRadius="12dp" />
<padding
android:left="20dp"
android:bottom="10dp"
android:right="10dp"
android:top="15dp"
/>
</shape>

Binary file not shown.

View File

@@ -3,12 +3,80 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".Activity.NaviFragment.SearchFragment">
<!-- TODO: Update blank fragment layout -->
<TextView
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="search" />
android:layout_height="match_parent">
<androidx.constraintlayout.utils.widget.ImageFilterButton
android:id="@+id/imageFilterButton_Back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FFFFFF"
android:minWidth="48dp"
android:minHeight="48dp"
android:src="@drawable/back_arrow_5821"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/textViewAccountAccTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="조회"
android:textAlignment="center"
android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/view2"
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_marginTop="15dp"
android:background="#000000"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textViewAccountAccTitle" />
<android.widget.Button
android:id="@+id/button_바코드"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_marginStart="20dp"
android:layout_marginTop="28dp"
android:layout_marginEnd="20dp"
android:background="@drawable/button_normal_background"
android:text="바코드 / RFID"
android:textAlignment="viewStart"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/view2" />
<android.widget.Button
android:id="@+id/button_방폐물목록"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_marginStart="20dp"
android:layout_marginTop="28dp"
android:layout_marginEnd="20dp"
android:background="@drawable/button_normal_background"
android:text="방폐물 목록"
android:textAlignment="viewStart"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button_바코드" />
</androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout>

View File

@@ -1,14 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Activity.NaviFragment.SelectFragment">
<!-- TODO: Update blank fragment layout -->
<TextView
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/hello_blank_fragment" />
android:layout_height="match_parent">
<TextView
android:id="@+id/textViewAccountAccTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="검사"
android:textAlignment="center"
android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/view2"
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_marginTop="15dp"
android:background="#000000"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textViewAccountAccTitle" />
<android.widget.Button
android:id="@+id/button_발생지특성검사"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_marginStart="20dp"
android:layout_marginTop="28dp"
android:layout_marginEnd="20dp"
android:background="@drawable/button_normal_background"
android:text="발생지 특성 검사"
android:textAlignment="viewStart"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/view2" />
<android.widget.Button
android:id="@+id/button_예비검사"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_marginStart="20dp"
android:layout_marginTop="28dp"
android:layout_marginEnd="20dp"
android:background="@drawable/button_normal_background"
android:text="예비 검사"
android:textAlignment="viewStart"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button_발생지특성검사" />
<android.widget.Button
android:id="@+id/button_인수검사"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_marginStart="20dp"
android:layout_marginTop="28dp"
android:layout_marginEnd="20dp"
android:background="@drawable/button_normal_background"
android:text="인수 검사"
android:textAlignment="viewStart"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button_예비검사" />
<android.widget.Button
android:id="@+id/button_처분검사"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_marginStart="20dp"
android:layout_marginTop="28dp"
android:layout_marginEnd="20dp"
android:background="@drawable/button_normal_background"
android:text="처분 검사"
android:textAlignment="viewStart"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button_인수검사" />
</androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout>

View File

@@ -3,12 +3,127 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".Activity.NaviFragment.TestFragment">
<!-- TODO: Update blank fragment layout -->
<TextView
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="test" />
android:layout_height="match_parent">
<androidx.constraintlayout.utils.widget.ImageFilterButton
android:id="@+id/imageFilterButton_Back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FFFFFF"
android:minWidth="48dp"
android:minHeight="48dp"
android:src="@drawable/back_arrow_5821"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/textViewAccountAccTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="검사"
android:textAlignment="center"
android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/view2"
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_marginTop="15dp"
android:background="#000000"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textViewAccountAccTitle" />
<android.widget.Button
android:id="@+id/button_표면"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_marginStart="20dp"
android:layout_marginTop="28dp"
android:layout_marginEnd="20dp"
android:background="@drawable/button_normal_background"
android:text="표면 방사선량 측정"
android:textAlignment="viewStart"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/view2" />
<android.widget.Button
android:id="@+id/button_1m"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_marginStart="20dp"
android:layout_marginTop="28dp"
android:layout_marginEnd="20dp"
android:background="@drawable/button_normal_background"
android:text="1m 방사선량 측정"
android:textAlignment="viewStart"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button_표면" />
<android.widget.Button
android:id="@+id/button_무게"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_marginStart="20dp"
android:layout_marginTop="28dp"
android:layout_marginEnd="20dp"
android:background="@drawable/button_normal_background"
android:text="무게 측정"
android:textAlignment="viewStart"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button_1m" />
<android.widget.Button
android:id="@+id/button_채움률"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_marginStart="20dp"
android:layout_marginTop="28dp"
android:layout_marginEnd="20dp"
android:background="@drawable/button_normal_background"
android:text="채움률 측정"
android:textAlignment="viewStart"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button_무게" />
<android.widget.Button
android:id="@+id/button_사진"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_marginStart="20dp"
android:layout_marginTop="28dp"
android:layout_marginEnd="20dp"
android:background="@drawable/button_normal_background"
android:text="사진 촬열"
android:textAlignment="viewStart"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button_채움률" />
</androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout>