Мне известно, что этот вопрос уже существует на этом и других сайтах, но я все еще пытаюсь найти решение, потому что до сих пор каждое решение не удается.
У меня есть активность, в которой есть 2 фрагмента.В первом фрагменте у меня есть 5 EditText, и эти входные данные мне нужно передать во второй фрагмент, но ... У меня также есть класс Java в этом пакете, который должен работать со значением этих входных данных, и этот результат мне нужноотобразить во втором фрагменте.Это средний калькулятор.
Это мой первый фрагмент:
package com.example.afotel;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class gyorsSzam extends Fragment {
EditText gradeFive, gradeFour, gradeThree, gradeTwo, gradeOne;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_gyors_szam, container, false);
Button calculate = (Button) view.findViewById(R.id.gGyors);
gradeFive = (EditText) view.findViewById(R.id.numberOfGardeFive);
gradeFour = (EditText) view.findViewById(R.id.numberOfGardeFour);
gradeThree = (EditText) view.findViewById(R.id.numberOfGardeThree);
gradeTwo = (EditText) view.findViewById(R.id.numberOfGardeTwo);
gradeOne = (EditText) view.findViewById(R.id.numberOfGardeOne);
calculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentTransaction fr = getFragmentManager().beginTransaction();
fr.replace(R.id.gyorsSzamlalas, new jegyekFelLe());
fr.commit();
String gradeFiveSt = gradeFive.getText().toString();
String gradeFourSt = gradeFour.getText().toString();
String gradeThreeSt = gradeThree.getText().toString();
String gradeTwoSt = gradeTwo.getText().toString();
String gradeOneeSt = gradeOne.getText().toString();
Bundle bundle = new Bundle();
bundle.putString("Five", gradeFiveSt );
bundle.putString("Four", gradeFourSt );
bundle.putString("Three", gradeThreeSt );
bundle.putString("Two", gradeTwoSt );
bundle.putString("Ones", gradeOneeSt );
}
});
return view;
}
}
А это мой второй фрагмент:
package com.example.afotel;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView;
public class jegyekFelLe extends Fragment {
public jegyekFelLe() {
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater,@Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_jegyek_fel_le, container, false);
Bundle bundle = getArguments();
String gradeFive = bundle.getString("Five");
String gradeFour = bundle.getString("Four");
String gradeThree = bundle.getString("Three");
String gradeTwo = bundle.getString("Two");
String gradeOne = bundle.getString("One");
TextView upFive = (TextView) rootView.findViewById(R.id.upFive);
upFive.setText(gradeFive);
TextView felNegyes = (TextView) rootView.findViewById(R.id.);
upFour.setText(gradeFour);
TextView upThree= (TextView) rootView.findViewById(R.id.upThree);
upThree.setText(gradeThree);
TextView upTwo = (TextView) rootView.findViewById(R.id.upTwo);
upTwo.setText(gradeTwo);
TextView downOne = (TextView) rootView.findViewById(R.id.dowbOne);
leEgyes.setText(gradeOne);
return rootView;
}
}
Если код содержит TextView upFive... (и т. д.), программа завершается сбоем, если я нажимаю кнопку вычисления.Я не знаю, в чем проблема, потому что я делаю все, что говорится в этом видео: https://www.youtube.com/watch?v=_4i5Jk5RnFA
Я знаю, что класс Java в этом примере не используется, потому что у меня есть эта проблема скод.Сначала я хочу узнать, как передавать данные между двумя фрагментами, а после того, как я напишу, вычислить нужный мне результат из этого 5 EditText.Я новичок в Android Studio, поэтому мне нужно простое, недолгое решение.
Надеюсь, Вы понимаете мою проблему, извините за мой английский.