Skocz do zawartości
KRzychu8

W jaki sposób podliczyć wartości oraz zresetować je w danym dniu?

    Rekomendowane odpowiedzi

    To jest Main2Activity.java (Tak drugie, bo  z okienka przechodzę 😜 )

    package com.domain.rzychu.myapplication;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    
    public class Main2Activity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
    
            setContentView(R.layout.activity_main2);
            Button button = (Button) findViewById(R.id.button);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
    
                    EditText ilo = findViewById(R.id.Ilosc1);
                    EditText ko = findViewById(R.id.Koszt1);
                    TextView wy = findViewById(R.id.Wypisz);
                    Float num1 = new Float(ilo.getText().toString());
                    Float num2 = new Float(ko.getText().toString());
                    Float sum = num1 * num2 ;
                    wy.setText(Float.toString(sum));
    
                    EditText km = findViewById(R.id.Km1);
                    TextView wy1 = findViewById(R.id.wypisz2);
                    Float km1 = new Float(km.getText().toString());
                    wy1.setText(Float.toString(km1));
    
                }
    
            });
    
        }
    
    
    }

     

    activity_main2.xml

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout 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=".Main2Activity"
        android:background="#006696" >
    
        <TextView
            android:id="@+id/Typ"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_marginStart="27dp"
            android:layout_marginTop="39dp"
            android:text="Typ: "
            android:textSize="18sp" />
    
        <TextView
            android:id="@+id/Koszt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignStart="@+id/Typ"
            android:layout_alignParentTop="true"
            android:layout_marginTop="85dp"
            android:layout_marginStart="0dp"
            android:text="Koszt zł/litr: "
            android:textSize="18sp" />
    
    
        <EditText
            android:id="@+id/Koszt1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentEnd="true"
            android:layout_marginTop="70dp"
            android:layout_marginEnd="50dp"
            android:ems="10"
            android:inputType="numberDecimal"
            android:text="" />
    
        <TextView
            android:id="@+id/Ilosc"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_marginStart="27dp"
            android:layout_marginTop="127dp"
            android:text="Ilosc: "
            android:textSize="18sp" />
    
        <EditText
            android:id="@+id/Ilosc1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentEnd="true"
            android:layout_marginTop="110dp"
            android:layout_marginEnd="101dp"
            android:ems="10"
            android:inputType="numberDecimal"
            android:text="" />
    
        <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_marginStart="186dp"
            android:layout_marginTop="204dp"
            android:text="Oblicz" />
    
        <Spinner
            android:id="@+id/spin"
            android:layout_width="132dp"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/Typ"
            android:layout_alignParentStart="true"
            android:layout_marginStart="76dp"
            android:layout_marginTop="2dp"
            android:entries="@array/paliwo">
    
        </Spinner>
    
        <TextView
            android:id="@+id/Km"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignStart="@+id/button"
            android:layout_alignParentBottom="true"
            android:layout_marginStart="-159dp"
            android:layout_marginBottom="453dp"
            android:text="Stan licznika: "
            android:textSize="18sp" />
    
        <EditText
            android:id="@+id/Km1"
            android:layout_width="180dp"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentEnd="true"
            android:layout_marginTop="150dp"
            android:layout_marginEnd="34dp"
            android:layout_marginStart="27dp"
            android:inputType="numberDecimal"
            android:text=" " />
    
    
        <TextView
            android:id="@+id/textView7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_alignParentBottom="true"
            android:layout_marginStart="27dp"
            android:layout_marginBottom="274dp"
            android:text="@string/Koszt" />
    
        <TextView
            android:id="@+id/textView8"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/textView7"
            android:layout_alignParentEnd="true"
            android:layout_marginTop="0dp"
            android:layout_marginEnd="127dp"
            android:text="@string/Dystans" />
    
        <TextView
            android:id="@+id/Wypisz"
            android:layout_width="49dp"
            android:layout_height="wrap_content"
            android:layout_alignEnd="@+id/Koszt"
            android:layout_alignParentTop="true"
            android:layout_marginStart="55dp"
            android:layout_marginTop="310dp"
            android:layout_marginEnd="-1dp"
            android:layout_marginBottom="206dp"
            android:text=" " />
    
        <TextView
            android:id="@+id/wypisz2"
            android:layout_width="49dp"
            android:layout_height="wrap_content"
            android:layout_alignEnd="@+id/Koszt"
            android:layout_alignParentTop="true"
            android:layout_marginStart="55dp"
            android:layout_marginTop="310dp"
            android:layout_marginEnd="-173dp"
            android:layout_marginBottom="206dp"
            android:text=" " />
    
    
    </RelativeLayout>
    
    

    A te Recycler, to chyba nie, bo to inne activity otwiera?

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    13 minut temu, KRzychu8 napisał:

    A te Recycler, to chyba nie, bo to inne activity otwiera?

    Hmm... zależy jak chcesz to zrobić. Z Twojego pierwszego screena wynikało że lista ma być widoczna w tym samym Activity i możemy tak zrobić :P A sam kod wstawiaj śmiało. Będzie łatwiej :D 
    Już teraz mogę Ci powiedzieć że poniższy fragment z pliku 
    activity_main2.xml będzie Twoim layoutem dla ViewHoldera:

    <TextView
            android:id="@+id/textView7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_alignParentBottom="true"
            android:layout_marginStart="27dp"
            android:layout_marginBottom="274dp"
            android:text="@string/Koszt" />
    
        <TextView
            android:id="@+id/textView8"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/textView7"
            android:layout_alignParentEnd="true"
            android:layout_marginTop="0dp"
            android:layout_marginEnd="127dp"
            android:text="@string/Dystans" />
    
        <TextView
            android:id="@+id/Wypisz"
            android:layout_width="49dp"
            android:layout_height="wrap_content"
            android:layout_alignEnd="@+id/Koszt"
            android:layout_alignParentTop="true"
            android:layout_marginStart="55dp"
            android:layout_marginTop="310dp"
            android:layout_marginEnd="-1dp"
            android:layout_marginBottom="206dp"
            android:text=" " />
    
        <TextView
            android:id="@+id/wypisz2"
            android:layout_width="49dp"
            android:layout_height="wrap_content"
            android:layout_alignEnd="@+id/Koszt"
            android:layout_alignParentTop="true"
            android:layout_marginStart="55dp"
            android:layout_marginTop="310dp"
            android:layout_marginEnd="-173dp"
            android:layout_marginBottom="206dp"
            android:text=" " />

     

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    3 minuty temu, Coders Lab napisał:

    Już teraz mogę Ci powiedzieć że poniższy fragment z pliku activity_main2.xml będzie Twoim layoutem dla ViewHoldera:

    Czyli mam rozumieć, że muszę tam dodać <LinearLayout> Albo coś takiego...

    Więc tak... Moje Recycler.java

    package com.domain.rzychu.myapplication;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.support.v7.widget.LinearLayoutManager;
    import android.support.v7.widget.RecyclerView;
    
    public class Recycler extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_recycler);
            RecyclerView recycler = (RecyclerView) findViewById(R.id.recycler);
            recycler.setLayoutManager(new LinearLayoutManager(this));
            String [] paliwo = {"Koszt", "Ilosc", "Stan licznika"};
            recycler.setAdapter(new MainAdapter(paliwo));
        }
    }

    acitivty_recycler.xml

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
        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">
        <android.support.v7.widget.RecyclerView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/recycler"
            android:paddingRight="20dp"
            android:paddingLeft="0dp"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="100dp" />
    
    </RelativeLayout>

    MainAdapter.java

    package com.domain.rzychu.myapplication;
    
    import android.support.v7.widget.RecyclerView;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ImageView;
    import android.widget.TextView;
    
    public class MainAdapter extends RecyclerView.Adapter<MainAdapter.MainViewHolder> {
        private String[] data;
        public MainAdapter(String[] data) {
            this.data = data;
        }
    
        @Override
        public MainViewHolder onCreateViewHolder( ViewGroup parent, int viewType) {
            LayoutInflater inflater = LayoutInflater.from(parent.getContext());
            View view = inflater.inflate(R.layout.list_item, parent, false);
            return new MainViewHolder(view);
        }
    
        @Override
        public void onBindViewHolder( MainViewHolder holder, int position) {
            String title = data[position];
            holder.text.setText(title);
        }
    
        @Override
        public int getItemCount() {
            return data.length;
        }
    
        public class MainViewHolder extends RecyclerView.ViewHolder {
            ImageView icon;
            TextView text;
            public MainViewHolder(View itemView) {
                super(itemView);
                icon = (ImageView) itemView.findViewById(R.id.icon);
                text = (TextView) itemView.findViewById(R.id.text);
            }
        }
    }

    I coś takiego jak list_item.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="8dp">
    
    
        <ImageView
            android:id="@+id/icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@mipmap/ic_launcher" />
    
        <TextView
            android:id="@+id/text"
            android:layout_width="22dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:paddingLeft="5dp"
            android:paddingRight="5dp"
            android:text="Jakiś tekst"
            android:textSize="18sp" />
    
        <EditText
            android:id="@+id/edit"
            android:layout_width="130dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="15dp"
            android:paddingRight="-52dp"
            android:singleLine="true"
            android:inputType="numberDecimal"/>
    
    
    </LinearLayout>

    No i to by było na tyle na razie ;) 

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Ten kawałek wrzucisz do swojej Main2Activity też w onCreate:
     

            RecyclerView recycler = (RecyclerView) findViewById(R.id.recycler);
            recycler.setLayoutManager(new LinearLayoutManager(this));
            String [] paliwo = {"Koszt", "Ilosc", "Stan licznika"};
            recycler.setAdapter(new MainAdapter(paliwo));

    Następnie musisz przenieść też layout w którym Twoja lista się wyświetla do activity_main2.xml. Wklej go tak samo jak np. TextView

        <android.support.v7.widget.RecyclerView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/recycler"
            android:paddingRight="20dp"
            android:paddingLeft="0dp"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="100dp" />

    Teraz będziesz miał wszystko w jednej Activity.
     

    Pozstanie praca nad MainViewHolder - tutaj definiujesz co będzie się wyświetlało na liście 

     public class MainViewHolder extends RecyclerView.ViewHolder {
            ImageView icon;
            TextView text;
            public MainViewHolder(View itemView) {
                super(itemView);
              //jest jakaś ikona i tekst, Ty chcesz mieć tekst: "Koszt" i drugi tekst: "Dystans", trzeba ikonę wywalić i pododawać odpowiednie komponenty
                icon = (ImageView) itemView.findViewById(R.id.icon);
                text = (TextView) itemView.findViewById(R.id.text);
            }
        }

    oraz nad list_item.xml  - tutaj wstawisz to co podałem Ci w poprzednim poście (te wszystkie TextView). Musisz je tylko ładnie ustawić. Możesz właśnie użyć <LinearLayout>

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    A więc, jakoś tam działa, ale pojawił się inny problem...

    Mianowicie chodzi o to, że jak mam otworzoną klawiaturę to znika mi tekst...

    A możesz jeszcze pomóc w tym, żeby po następnym kliknięciu oblicz pojawiał się następny Layout?

    Ach, i jeszcze odejmowanie i podsumowanie wszystkiego ;) 

    Czy do podsumowania tych kosztów pod koniec miesiąca, nie będzie najlepsza pętla jakaś?

    Screenshot_20190103-150743.jpg

    Screenshot_20190103-150724.jpg

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    6 minut temu, KRzychu8 napisał:

    Mianowicie chodzi o to, że jak mam otworzoną klawiaturę to znika mi tekst...

    😮 dziwne zachowanie. Pierwszy raz widzę coś takiego. Zakładam że nie masz jeszcze prawidłowo zrobionego RecyclerView. Bo nie widzę żeby jakaś lista się wyświetliła (nie ma tej starej z ikonkami no i nie ma nowej)

    Na starej elementy dodawałeś w ten sposób:

    String [] paliwo = {"Koszt", "Ilosc", "Stan licznika"}; //tutaj powinny być obiekty z klasy zawierającej istotne dla Ciebie informacje

    Nową na początek możesz zrobić podobnie, ale najpierw potrzebujesz klasy dla swoich danych:
     

    public class SomeDataClass {
        private Float dystans;
        private Float koszt;
    //itd. plus gettery i settery
    }

     

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Hmm... Niby się zmieniło, ale dalej Znika mi "Stan Licznika", (Koszt: i Dystans) Te małymi literami...

    Obrazek mi nie pasował to usunąłem...

    Czy tak powinno być?

    Screenshot_20190103-154401.jpg

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    Napisano (edytowane)

    No dobra, zrobiłem tak jak Mówiłeś, i mam takie coś ;) 

    W sumie to jeszcze lepiej, może coś muszę usunąć i Wyjdziemy na prostą ;)

    Screenshot_20190103-161816.jpg

    Edytuję bo, coś zrobiłem i w sumie pokazuje się tylko jedno, ale dajmy na to, nie mogę wcisnąć Typ, i muszę wpisywać po kolei

    A jak widać znika tylko Stan licznika 😕 

    Screenshot_20190103-163831.jpg

    Screenshot_20190103-163820.jpg

    dodana zawartość

    No to piszę jeszcze raz, że wszystko działa...

    Chyba jak należy, ale...

    Żeby przycisk nie znikał to zrobiłem go jeszcze raz, i skopiowałem  te "funkcje" z tego co nie znika 😜

    Że nie mogłem wciskać przycisków, to wystarczyło w Component Tree na Desing przesunąć Recycler na samą górę XD

    Także, wygląda to tak...

    Screenshot_20190103-173815.jpg

    Edytowane przez KRzychu8

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    No i tak się stało, że stanąłem na SharedPreferences...

    Coś ktoś pomoc?

    Żeby jak kliknę oblicz dodawało, kolejne koszty i dystans...

    Coś takiego, tylko że chodzi o wpisanie moich wartości i żeby o tak dodawało co jeden i liczyło...

    No chyba, że nie ma innego wyjścia to zrozumiem 😕

    W dniu 3.01.2019 o 09:31, Coders Lab napisał:


    image.png.ea7f8b5e7730d0b9a0bd42c5c0928aa2.png

     

     

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.