From f6cb305ff11a44ada766d8afdf75a6c5b1d4c704 Mon Sep 17 00:00:00 2001 From: m_broelemann Date: Fri, 1 Jan 2021 23:31:28 +0100 Subject: [PATCH] Darstellung angepasst --- .../aped/ui/all_IOs/MainListViewAdapter.java | 55 +++++++------- .../aped/ui/all_IOs/PinListViewAdapter.java | 72 ++++++++++++++++++- .../src/main/res/layout/listview_layout.xml | 33 ++------- ...ew2_layout.xml => pin_listview_layout.xml} | 2 +- 4 files changed, 107 insertions(+), 55 deletions(-) rename APED/app/src/main/res/layout/{listview2_layout.xml => pin_listview_layout.xml} (96%) 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 index 8b68d2e..ae8b46b 100644 --- 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 @@ -4,6 +4,7 @@ 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 com.android.volley.Response; @@ -13,6 +14,7 @@ import com.example.aped.R; import org.json.JSONException; import org.json.JSONObject; +import java.util.ArrayList; import java.util.List; public class MainListViewAdapter extends BaseAdapter { @@ -30,6 +32,7 @@ public class MainListViewAdapter extends BaseAdapter { @Override public int getCount() { + int temp = mainActivity.xml.getDeviceNames().size(); return mainActivity.xml.getDeviceNames().size(); } @@ -50,34 +53,12 @@ public class MainListViewAdapter extends BaseAdapter { 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); + ListView listViewPin = (ListView) view.findViewById( + R.id.idListViewPins); 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))) { @@ -106,7 +87,31 @@ public class MainListViewAdapter extends BaseAdapter { } } }); - textViewPin.setText(((List) (mainActivity.xml.getPort(mainActivity.xml.getDeviceNames().get(i))).get("pins")).get(0)); + //textViewPin.setText(((List) (mainActivity.xml.getPort(mainActivity.xml.getDeviceNames().get(i))).get("pins")).get(0)); + + + mainActivity.uebergabe.read(mainActivity.xml.getDeviceNames().get(i), new Response.Listener() { + @Override + public void onResponse(final JSONObject response) { + try { + JSONObject state = response.getJSONObject("state"); + List pinValues = new ArrayList<>(); + for(String pinName: ((List)mainActivity.xml.getPort(mainActivity.xml.getDeviceNames().get(i)).get("pins"))){ + pinValues.add(state.getString(pinName)); + } + PinListViewAdapter pinListViewAdapter = new PinListViewAdapter(mainActivity,mainActivity.xml.getDeviceNames().get(i), pinValues); + listViewPin.setAdapter(pinListViewAdapter); + } catch (JSONException e) { + // Richtigen log erstellen + e.printStackTrace(); + } + + } + }); + + + + 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 index f970d22..ede8e61 100644 --- 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 @@ -1,4 +1,74 @@ package com.example.aped.ui.all_IOs; -public class PinListViewAdapter { +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 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 PinListViewAdapter extends BaseAdapter { + private MainActivity mainActivity; + + private int image; + private List pinValues; + private String deviceName; + + + public PinListViewAdapter(MainActivity pMainActivity,String pdevice, List ppinValues){ + this.mainActivity = pMainActivity; + this.deviceName = pdevice; + this.pinValues = ppinValues; + } + + + @Override + public int getCount() { + int tempsize = pinValues.size(); + return pinValues.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.pin_listview_layout, + null); + ImageView imageView = (ImageView) view.findViewById( + R.id.images); + TextView textViewPin = (TextView) view.findViewById( + R.id.textPin); + + String pinState = pinValues.get(i); + + if(pinState.equals("1")) { + image=R.drawable.green_signal; + }else if (pinState.equals("0")) { + image = R.drawable.red_signal; + } else{ image = R.drawable.off_signal; } + imageView.setImageResource(image); + + textViewPin.setText(((List) (mainActivity.xml.getPort(deviceName)).get("pins")).get(i)); + return view; + } } diff --git a/APED/app/src/main/res/layout/listview_layout.xml b/APED/app/src/main/res/layout/listview_layout.xml index f8b3bfd..3808e35 100644 --- a/APED/app/src/main/res/layout/listview_layout.xml +++ b/APED/app/src/main/res/layout/listview_layout.xml @@ -4,42 +4,19 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:orientation="vertical" - tools:context=".ui.all_IOs.AllIOsFragment2"> - - + android:orientation="vertical"> - - + android:layout_below="@id/textName"/> \ No newline at end of file diff --git a/APED/app/src/main/res/layout/listview2_layout.xml b/APED/app/src/main/res/layout/pin_listview_layout.xml similarity index 96% rename from APED/app/src/main/res/layout/listview2_layout.xml rename to APED/app/src/main/res/layout/pin_listview_layout.xml index bdcb8f1..1c07d97 100644 --- a/APED/app/src/main/res/layout/listview2_layout.xml +++ b/APED/app/src/main/res/layout/pin_listview_layout.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" - android:layout_height="75dp" + android:layout_height="wrap_content" android:orientation="vertical">