Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MainActivity<v> extends AppCompatActivity {
- EditText wzrost, waga, adres;
- TextView wynik, slowo;
- Button oblicz;
- Button url2;
- Button info;
- Button wsb;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- // tutaj zapisujemy wszystkie kontrolki (przyciski, pola tekstowe, jakieś inputy etc) do zmiennych zeby moc wykonywac na nich operacjje
- slowo = (TextView) findViewById(R.id.slowo);
- wzrost = (EditText) findViewById(R.id.wzrost);
- waga = (EditText) findViewById(R.id.waga);
- wynik = (TextView) findViewById(R.id.wynik);
- oblicz = (Button) findViewById(R.id.oblicz);
- url2 = (Button) findViewById(R.id.url2);
- info = (Button) findViewById(R.id.info);
- wsb = (Button) findViewById(R.id.wsb);
- adres = (EditText) findViewById(R.id.adres);
- //oblicz - przycisk obliczajacy BMI - wpinamy w niego tzw. handler który pozwala nam zareagować na zdarzenie gdy zostanie wciśnięty (OnClickListener)
- oblicz.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- // czyli - jesli klikniety - wykonaj funkcje wynikBMI()
- wynikBMI();
- }
- });
- // to samo, ale dla url2 - czyli buttona Pokaz
- url2.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- //ta metoda w teorii powinna otwierac przegladarke na stronie wpisanej w pole adres - czyli w pole nad przyciskiem w aplikacji. Ale to niebardzo dziala
- final String web = adres.getText().toString();
- //final String web = editText.getText().toString();
- Intent intent = new Intent(getApplicationContext(), web_view_.class);
- intent.putExtra("url", web);
- startActivity(intent);
- }
- });
- //dokladnie to samo co wyzej - ale zamiast jakiejs strony wyswietla to co w stringu customHtml
- info.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(getApplicationContext(), web_view_.class);
- String customHtml = "<html><body>Utworzone przez Lukasz Jagoda </body></html>";
- intent.putExtra("info", customHtml);
- startActivity(intent);
- }
- });
- // to jest listener nasluchujacy na zdarzenie zmiany wartosci - w tym przypadku - w polu Wzrost.
- wzrost.setOnFocusChangeListener(new View.OnFocusChangeListener() {
- @Override
- public void onFocusChange(View v, boolean hasFocus) {
- // jesli wynik jest podany (tzn. BMI obliczone), to po zmianie wartosci w polu Wzrost to obliczone BMI zniknie
- if (hasFocus && slowo.getVisibility() == View.VISIBLE) {
- slowo.setVisibility(View.INVISIBLE);
- wynik.setVisibility(View.INVISIBLE);
- }
- }
- });
- // wszystko jak wyzej ze wzrostem tylko ze dla pola Waga
- waga.setOnFocusChangeListener(new View.OnFocusChangeListener() {
- @Override
- public void onFocusChange(View v, boolean hasFocus) {
- if (hasFocus && slowo.getVisibility() == View.VISIBLE) {
- slowo.setVisibility(View.INVISIBLE);
- wynik.setVisibility(View.INVISIBLE);
- }
- }
- });
- // kolejny przycisk ktoremu przypisuje sie listener nasluchujacy na zdarzenie klikniecia
- wsb.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- // jesli klikniety - przejdz na strone WSB. Jesli z jakiegos powodu sie nie uda - wyswietl informacje "Cos poszlo nie tak"
- try {
- Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://wsb.edu.pl"));
- startActivity(i);
- } catch (ActivityNotFoundException e) {
- Toast.makeText(getApplicationContext(), "Coś poszło nie tak", Toast.LENGTH_SHORT).show();
- }
- }
- });
- }
- private void wynikBMI() {
- // pobierz wzrost i wage z pol tekstowych aplikacji
- String wzrostStr = wzrost.getText().toString();
- String wagaStr = waga.getText().toString();
- // jesli wzrost i waga sa podane (czyli nie sa nullem badz pustym stringiem - np. spacja) - zrob z nich zmienne typu float (w dodatku wzrost podziel przez 100)
- if (wzrostStr != null && !"".equals(wzrostStr) && wagaStr != null && !"".equals(wagaStr)) {
- float wzrostValue = Float.parseFloat(wzrostStr) / 100;
- float wagaValue = Float.parseFloat(wagaStr);
- // obliczone BMI - waga podzielona przez kwadrat wzrostu
- float bmi = wagaValue / (wzrostValue * wzrostValue);
- pokaztext();
- pokazBMI(bmi);
- //"odfocusowuje" wage (zrobione pewnie po to zeby klawiatura zniknela)
- waga.clearFocus();
- // czysci wartosci w polach wzrostu i wagi
- waga.setText("");
- wzrost.setText("");
- }
- }
- public void pokaztext() {
- // ta metoda tylko "pokazuje" napis przy wartosci BMI, tzn. "Twoje BMI wynosi:" czy cos takiego
- slowo.setVisibility(View.VISIBLE);
- }
- private void pokazBMI(float bmi) {
- // metoda wpisuje wartosc BMI podana w parametrze i wyswietla go (View.VISIBLE).
- wynik.setVisibility(View.VISIBLE);
- String tekst = "";
- tekst = bmi + "\n" + tekst;
- wynik.setText(tekst);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement