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 9c1a2ee..9b88cb9 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 @@ -59,6 +59,11 @@ public class AllIOsFragment extends Fragment { @Override public int getCount() { + /**int count=0; + for(int i = 0; i < mainActivity.xml.getDeviceNames().size();i++){ + count += ((List)mainActivity.xml.getPort(mainActivity.xml.getDeviceNames().get(i)).get("pins")).size(); + } + return count;*/ return mainActivity.xml.getDeviceNames().size(); } @@ -77,32 +82,44 @@ public class AllIOsFragment extends Fragment { @Override public View getView(final int i, View view, final ViewGroup viewGroup) { - /*if(mainActivity.uebergabe.read(mainActivity.xml. - getDeviceNames().get(i)).equals("TRUE")) { - image=R.drawable.green_signal; - }else if (mainActivity.uebergabe.read(mainActivity.xml. - getDeviceNames().get(i)).equals("FALSE")) { - image = R.drawable.red_signal; - } - else{*/ - image = R.drawable.off_signal; - //} - 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; - } view = getLayoutInflater().inflate(R.layout.listview_layout, null); ImageView imageView = (ImageView) view.findViewById( R.id.images); TextView textViewName = (TextView) view.findViewById( R.id.textName); - TextView textViewState = (TextView) view.findViewById( - R.id.textState); + 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 @@ -136,11 +153,11 @@ public class AllIOsFragment extends Fragment { }); - imageView.setImageResource(image); - textViewName.setText(mainActivity.xml.getDeviceNames().get(i)); + + //TextView_State.setText(mainActivity.uebergabe.read( // mainActivity.xml.getDeviceNames().get(i))); - mainActivity.uebergabe.read(mainActivity.xml.getDeviceNames(). + /** mainActivity.uebergabe.read(mainActivity.xml.getDeviceNames(). get(i), new Response.Listener() { @Override public void onResponse(final JSONObject response) { @@ -151,12 +168,12 @@ public class AllIOsFragment extends Fragment { List pinnames = (List) portinfo.get("pins"); String firstpinname = pinnames.get(0); int groesse = pinnames.size(); - /** for(String pinname : pinnames){ + 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) { @@ -164,7 +181,9 @@ public class AllIOsFragment extends Fragment { } } - }); + });*/ + 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/AllIOsFragment2.java b/APED/app/src/main/java/com/example/aped/ui/all_IOs/AllIOsFragment2.java new file mode 100644 index 0000000..4073382 --- /dev/null +++ b/APED/app/src/main/java/com/example/aped/ui/all_IOs/AllIOsFragment2.java @@ -0,0 +1,156 @@ +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; + } + } + }