From 4b720c3a33dffd254de25ab82caa6276e47b7bfc Mon Sep 17 00:00:00 2001 From: Bastian Kohler Date: Wed, 21 Jun 2023 22:02:10 +0200 Subject: [PATCH] Refactor --- .../Fragments/VideoFileFragment.java | 53 +++++++++++++++++++ .../ueberwachungssystem/MainActivity.java | 13 ++++- .../ueberwachungssystem/VideoAdapter.java | 53 +++++++++++++++++++ app/src/main/res/layout/activity_main.xml | 4 ++ app/src/main/res/layout/list_item_file.xml | 17 ++++++ .../main/res/layout/video_file_fragment.xml | 16 ++++++ 6 files changed, 154 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/com/example/ueberwachungssystem/Fragments/VideoFileFragment.java create mode 100644 app/src/main/java/com/example/ueberwachungssystem/VideoAdapter.java create mode 100644 app/src/main/res/layout/list_item_file.xml create mode 100644 app/src/main/res/layout/video_file_fragment.xml diff --git a/app/src/main/java/com/example/ueberwachungssystem/Fragments/VideoFileFragment.java b/app/src/main/java/com/example/ueberwachungssystem/Fragments/VideoFileFragment.java new file mode 100644 index 0000000..541b5d2 --- /dev/null +++ b/app/src/main/java/com/example/ueberwachungssystem/Fragments/VideoFileFragment.java @@ -0,0 +1,53 @@ +package com.example.ueberwachungssystem.Fragments; + +import android.content.Context; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.ListView; +import android.widget.Toast; + +import androidx.fragment.app.Fragment; + +import com.example.ueberwachungssystem.R; + +import java.util.ArrayList; +import java.util.List; + +public class VideoFileFragment extends Fragment { + + private ListView listView; + private ArrayAdapter adapter; + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View rootView = inflater.inflate(R.layout.video_file_fragment, container, false); + + listView = rootView.findViewById(R.id.listView); + adapter = new ArrayAdapter<>(requireContext(), android.R.layout.simple_list_item_1, getData()); + listView.setAdapter(adapter); + + listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + // Handle item click event here + String selectedItem = adapter.getItem(position); + Toast.makeText(requireContext(), selectedItem, Toast.LENGTH_SHORT).show(); + } + }); + + return rootView; + } + + private List getData() { + // Add your data source here, e.g., an array or a list + List data = new ArrayList<>(); + data.add("Item 1"); + data.add("Item 2"); + data.add("Item 3"); + return data; + } +} diff --git a/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java b/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java index 5c6d973..309fc47 100644 --- a/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java +++ b/app/src/main/java/com/example/ueberwachungssystem/MainActivity.java @@ -2,6 +2,7 @@ package com.example.ueberwachungssystem; import androidx.camera.core.ExperimentalGetImage; import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; @@ -16,7 +17,10 @@ import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; import android.widget.Button; +import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import android.widget.ToggleButton; @@ -25,6 +29,9 @@ import com.example.ueberwachungssystem.Fragments.Fragment1; import com.example.ueberwachungssystem.Fragments.Fragment2; import com.example.ueberwachungssystem.Detection.DetectorService; import com.example.ueberwachungssystem.Fragments.Fragment3; +import com.example.ueberwachungssystem.Fragments.VideoFileFragment; + +import java.util.ArrayList; @ExperimentalGetImage public class MainActivity extends AppCompatActivity { @@ -36,8 +43,9 @@ public class MainActivity extends AppCompatActivity { private Fragment1 fragment1; private Fragment2 fragment2; private Fragment3 fragment3; + private VideoFileFragment videoFileFragment = new VideoFileFragment(); private DetectorService detectorService = new DetectorService(); - int num=0; + int num = 0; //Textviews private TextView Auswahl; private TextView AoderA; @@ -185,7 +193,8 @@ public class MainActivity extends AppCompatActivity { public void onClickZeigeFragment2(View view) { Button button = (Button) view; - zeigeFragment(fragment2.erstellen("Hier stehen dann die Videos")); + //zeigeFragment(fragment2.erstellen("Hier stehen dann die Videos")); + zeigeFragment(videoFileFragment); } public void onClickZeigeFragment3(View view) { Button button = (Button) view; diff --git a/app/src/main/java/com/example/ueberwachungssystem/VideoAdapter.java b/app/src/main/java/com/example/ueberwachungssystem/VideoAdapter.java new file mode 100644 index 0000000..a1d0345 --- /dev/null +++ b/app/src/main/java/com/example/ueberwachungssystem/VideoAdapter.java @@ -0,0 +1,53 @@ +package com.example.ueberwachungssystem; + +import android.content.Context; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.TextView; + +import androidx.annotation.NonNull; + +import java.util.List; + +public class VideoAdapter extends ArrayAdapter { + + private List fileList; + private OnFileClickListener listener; + + public VideoAdapter (Context context, List fileList, OnFileClickListener listener) { + super(context, 0, fileList); + this.fileList = fileList; + this.listener = listener; + } + + @Override + public View getView(final int position, View convertView, ViewGroup parent) { + if (convertView == null) { + convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_item_file, parent, false); + } + + TextView fileNameText = convertView.findViewById(R.id.file_name_text); + final String fileName = fileList.get(position); + fileNameText.setText(fileName); + + convertView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + listener.onFileClick(fileName); + listener.onFileClick(fileName); + } + }); + + return convertView; + } + + public interface OnFileClickListener { + View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState); + + void onFileClick(String fileName); + } +} diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index b6b7421..d2a4cb5 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -125,5 +125,9 @@ --> + \ No newline at end of file diff --git a/app/src/main/res/layout/list_item_file.xml b/app/src/main/res/layout/list_item_file.xml new file mode 100644 index 0000000..0ebac0c --- /dev/null +++ b/app/src/main/res/layout/list_item_file.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/video_file_fragment.xml b/app/src/main/res/layout/video_file_fragment.xml new file mode 100644 index 0000000..b31a228 --- /dev/null +++ b/app/src/main/res/layout/video_file_fragment.xml @@ -0,0 +1,16 @@ + + + + + + \ No newline at end of file