From 68baa9e06f7d7eb8d5a75a6e16af131511f212bf Mon Sep 17 00:00:00 2001 From: paul-loedige Date: Fri, 1 Jan 2021 19:41:57 +0100 Subject: [PATCH] extracted adapter for main view into its own class --- .../aped/ui/all_IOs/AllIOsFragment.java | 5 +- .../aped/ui/all_IOs/AllIOsFragment2.java | 156 ------------------ .../aped/ui/all_IOs/MainListViewAdapter.java | 114 +++++++++++++ .../aped/ui/all_IOs/PinListViewAdapter.java | 4 + 4 files changed, 121 insertions(+), 158 deletions(-) delete mode 100644 APED/app/src/main/java/com/example/aped/ui/all_IOs/AllIOsFragment2.java create mode 100644 APED/app/src/main/java/com/example/aped/ui/all_IOs/MainListViewAdapter.java create mode 100644 APED/app/src/main/java/com/example/aped/ui/all_IOs/PinListViewAdapter.java diff --git a/APED/app/src/main/java/com/example/aped/ui/all_IOs/AllIOsFragment.java b/APED/app/src/main/java/com/example/aped/ui/all_IOs/AllIOsFragment.java index 9b88cb9..a644342 100644 --- a/APED/app/src/main/java/com/example/aped/ui/all_IOs/AllIOsFragment.java +++ b/APED/app/src/main/java/com/example/aped/ui/all_IOs/AllIOsFragment.java @@ -50,11 +50,12 @@ public class AllIOsFragment extends Fragment { View view = inflater.inflate(R.layout.fragment_all_ios, container, false); ListView lv = (ListView) view.findViewById(R.id.idListView); - CustomAdapter customAdapter = new CustomAdapter(); - lv.setAdapter(customAdapter); + MainListViewAdapter mainListViewAdapter = new MainListViewAdapter(mainActivity); + lv.setAdapter(mainListViewAdapter); return view; } + /** REMOVE AT LATER DATE **/ class CustomAdapter extends BaseAdapter { @Override diff --git a/APED/app/src/main/java/com/example/aped/ui/all_IOs/AllIOsFragment2.java b/APED/app/src/main/java/com/example/aped/ui/all_IOs/AllIOsFragment2.java deleted file mode 100644 index 4073382..0000000 --- a/APED/app/src/main/java/com/example/aped/ui/all_IOs/AllIOsFragment2.java +++ /dev/null @@ -1,156 +0,0 @@ -package com.example.aped.ui.all_IOs; - - -import android.os.Bundle; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.BaseAdapter; -import android.widget.ImageView; -import android.widget.ListView; -import android.widget.TextView; -import android.widget.Toast; - -import androidx.fragment.app.Fragment; - -import com.android.volley.Response; -import com.example.aped.MainActivity; -import com.example.aped.R; - -import org.json.JSONException; -import org.json.JSONObject; - -import java.util.List; - - -public class AllIOsFragment2 extends Fragment { - /** - * Einbinden der MainActivity. - */ - private MainActivity mainActivity; - /** - * Genutzt für Signallampe. - */ - private int image; - /** - * Genutzt für Favoriten icons. - */ - private int favoriteImage; - - /** - * @param inflater - * @param container - * @param savedInstanceState - * @return view - */ - @Override - public View onCreateView(final LayoutInflater inflater, - final ViewGroup container, - final Bundle savedInstanceState) { - this.mainActivity = (MainActivity) getActivity(); - View view = inflater.inflate(R.layout.listview_layout, container, - false); - ListView lv = (ListView) view.findViewById(R.id.idListViewPins); - CustomAdapter customAdapter = new CustomAdapter(); - lv.setAdapter(customAdapter); - return view; - } - - class CustomAdapter extends BaseAdapter { - - @Override - public int getCount() { - int count=0; - count += ((List)mainActivity.xml.getPort(mainActivity.xml.getDeviceNames().get(1)).get("pins")).size(); - return count; - } - - @Override - public Object getItem(final int position) { - - return null; - } - - @Override - public long getItemId(final int position) { - - return 0; - } - - @Override - public View getView(final int i, View view, - final ViewGroup viewGroup) { - view = getLayoutInflater().inflate(R.layout.listview2_layout, - null); - ImageView imageView = (ImageView) view.findViewById( - R.id.images); - TextView textViewPin = (TextView) view.findViewById( - R.id.textPin); - mainActivity.uebergabe.read(mainActivity.xml.getDeviceNames(). - get(i), new Response.Listener() { - @Override - public void onResponse(final JSONObject response) { - try { - String firstpinvalue = response.getJSONObject("state").getString(((List) (mainActivity.xml.getPort(mainActivity.xml.getDeviceNames().get(i))).get("pins")).get(0)); - if(firstpinvalue.equals("1")) { - image=R.drawable.green_signal; - }else if (firstpinvalue.equals("0")) { - image = R.drawable.red_signal; - } else{ image = R.drawable.off_signal; } - imageView.setImageResource(image); - } catch (JSONException e) { - e.printStackTrace(); - image = R.drawable.off_signal; - imageView.setImageResource(image); - } - - } - }); - - - /** - * Verarbeitung/ Änderung der Zustände DO - */ - imageView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(final View view) { - Toast.makeText(getContext(), "Click auf: " + i, - Toast.LENGTH_SHORT).show(); - } - }); - - - - - //TextView_State.setText(mainActivity.uebergabe.read( - // mainActivity.xml.getDeviceNames().get(i))); - /** mainActivity.uebergabe.read(mainActivity.xml.getDeviceNames(). - get(i), new Response.Listener() { - @Override - public void onResponse(final JSONObject response) { - try { - JSONObject pins = response.getJSONObject("state"); - String devicename = mainActivity.xml.getDeviceNames().get(i); - Dictionary portinfo = mainActivity.xml.getPort(devicename); - List pinnames = (List) portinfo.get("pins"); - String firstpinname = pinnames.get(0); - int groesse = pinnames.size(); - for(String pinname : pinnames){ - - }//anstatt for mit laufvariable - for(int h; h < pinnames.size();h++){ - String pinname = pinnames.get(h); - } - String firstpinvalue = pins.getString(firstpinname); - textViewState.setText(firstpinvalue); - } catch (JSONException e) { - e.printStackTrace(); - } - - } - });*/ - textViewPin.setText(((List) (mainActivity.xml.getPort(mainActivity.xml.getDeviceNames().get(i))).get("pins")).get(0)); - return view; - } - } - } diff --git a/APED/app/src/main/java/com/example/aped/ui/all_IOs/MainListViewAdapter.java b/APED/app/src/main/java/com/example/aped/ui/all_IOs/MainListViewAdapter.java new file mode 100644 index 0000000..8b68d2e --- /dev/null +++ b/APED/app/src/main/java/com/example/aped/ui/all_IOs/MainListViewAdapter.java @@ -0,0 +1,114 @@ +package com.example.aped.ui.all_IOs; + +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.TextView; + +import com.android.volley.Response; +import com.example.aped.MainActivity; +import com.example.aped.R; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.List; + +public class MainListViewAdapter extends BaseAdapter { + + private MainActivity mainActivity; + + private int image; + + private int favoriteImage; + + public MainListViewAdapter(MainActivity pMainActivity){ + this.mainActivity = pMainActivity; + } + + + @Override + public int getCount() { + return mainActivity.xml.getDeviceNames().size(); + } + + @Override + public Object getItem(final int position) { + + return null; + } + + @Override + public long getItemId(final int position) { + + return 0; + } + + @Override + public View getView(final int i, View view, + final ViewGroup viewGroup) { + view = mainActivity.getLayoutInflater().inflate(R.layout.listview_layout, + null); + ImageView imageView = (ImageView) view.findViewById( + R.id.images); + TextView textViewName = (TextView) view.findViewById( + R.id.textName); + TextView textViewPin = (TextView) view.findViewById( + R.id.textPin); + ImageView buttonViewFavoriten = (ImageView) view.findViewById( + R.id.imageButtonFavoriten); + mainActivity.uebergabe.read(mainActivity.xml.getDeviceNames(). + get(i), new Response.Listener() { + @Override + public void onResponse(final JSONObject response) { + try { + String firstpinvalue = response.getJSONObject("state").getString(((List) (mainActivity.xml.getPort(mainActivity.xml.getDeviceNames().get(i))).get("pins")).get(0)); + if(firstpinvalue.equals("1")) { + image=R.drawable.green_signal; + }else if (firstpinvalue.equals("0")) { + image = R.drawable.red_signal; + } else{ image = R.drawable.off_signal; } + imageView.setImageResource(image); + } catch (JSONException e) { + e.printStackTrace(); + image = R.drawable.off_signal; + imageView.setImageResource(image); + } + + } + }); + + if (mainActivity.favorite.getFavorites().contains( + mainActivity.xml.getDeviceNames().get(i))) { + favoriteImage = android.R.drawable.btn_star_big_on; + } else { + favoriteImage = android.R.drawable.btn_star_big_off; + } + + buttonViewFavoriten.setOnClickListener( + new View.OnClickListener() { + @Override + public void onClick(final View view) { + if (mainActivity.favorite.getFavorites().contains( + mainActivity.xml.getDeviceNames().get(i))) { + mainActivity.favorite.removeFavorite( + mainActivity.xml.getDeviceNames().get(i)); + favoriteImage = android.R.drawable.btn_star_big_off; + buttonViewFavoriten.setImageResource( + favoriteImage); + } else { + mainActivity.favorite.addFavorite( + mainActivity.xml.getDeviceNames().get(i)); + favoriteImage = android.R.drawable.btn_star_big_on; + buttonViewFavoriten.setImageResource( + favoriteImage); + } + } + }); + textViewPin.setText(((List) (mainActivity.xml.getPort(mainActivity.xml.getDeviceNames().get(i))).get("pins")).get(0)); + textViewName.setText(mainActivity.xml.getDeviceNames().get(i)); + buttonViewFavoriten.setImageResource(favoriteImage); + return view; + } +} diff --git a/APED/app/src/main/java/com/example/aped/ui/all_IOs/PinListViewAdapter.java b/APED/app/src/main/java/com/example/aped/ui/all_IOs/PinListViewAdapter.java new file mode 100644 index 0000000..f970d22 --- /dev/null +++ b/APED/app/src/main/java/com/example/aped/ui/all_IOs/PinListViewAdapter.java @@ -0,0 +1,4 @@ +package com.example.aped.ui.all_IOs; + +public class PinListViewAdapter { +}