创建一个parcelable数组列表

时间:2017-01-09 14:50:25

标签: java android android-fragments arraylist

我现在坚持这个问题两个星期了,我似乎不会自己解决这个问题,所以我希望你能帮助我。

我需要的只是一个工作的arraylist,可以正常访问我的代码中的条目

更具体一点:

在" SecondFragment":

转到OnClickListener

它说entries.add(new PieEntry(number, nomen));

是在我无法创建的arraylist中创建新条目的部分。

然后在" FirstFragment"

它在 button2.OnClickListener

中说
PieDataSet set = new PieDataSet(entries, "");

是我需要从" SecondFragment "

接收数据的地方

和那个

没有更多,没有其他必要的东西可以帮助我。

提前致谢,并致以最诚挚的问候,

尼古拉斯

SECONDFRAGMENT

public class SecondFragment extends Fragment {
// Store instance variables
private String title;
private int page;

// newInstance constructor for creating fragment with arguments
public static SecondFragment newInstance(int page, String title) {
    SecondFragment fragmentSecond = new SecondFragment();
    Bundle args = new Bundle();
    args.putInt("someInt", page);
    args.putString("someTitle", title);
    fragmentSecond.setArguments(args);
    return fragmentSecond;
}

// Store instance variables based on arguments passed
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    page = getArguments().getInt("someInt", 0);
    title = getArguments().getString("someTitle");
}

// Inflate the view for the fragment based on layout XML
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    final View view = inflater.inflate(R.layout.fragment_second, container, false);
    TextView tvLabel2 = (TextView) view.findViewById(R.id.textView2);

    //Alle Objekte hier einfügen (wie textview tvavel2)

    final Button button = (Button) view.findViewById(R.id.button);
    final TextView textView = (TextView) view.findViewById(R.id.textView);
    final TextView textView2 = (TextView) view.findViewById(R.id.textView2);
    final EditText editText = (EditText) view.findViewById(R.id.editText);
    final EditText editText2 = (EditText) view.findViewById(R.id.editText2);
    final EditText editText3 = (EditText) view.findViewById(R.id.editText3);



    button.setOnClickListener(new View.OnClickListener() {
        public void onClick (View view) {



            if (editText3.getText().toString().matches("")) {
                Toast.makeText(getActivity(), "You did not enter a Valid Item ID", Toast.LENGTH_LONG).show();
                return;
            }

            else if (editText2.getText().toString().matches("")) {
                Toast.makeText(getActivity(), "You did not enter a Valid Quantitiy", Toast.LENGTH_LONG).show();
                return;

            }

            else {

                String nomen = (editText3.getText().toString());
                float number = Float.parseFloat(editText2.getText().toString());

                entries.add(new PieEntry(number, nomen));

                editText3.setText("");
                editText2.setText("");
                editText3.requestFocus();
            }
        }
    });

    return view;
}

FIRSTFRAGMENT

public class FirstFragment extends Fragment {
// Store instance variables
private String title;
private int page;


// newInstance constructor for creating fragment with arguments
public static FirstFragment newInstance(int page, String title) {
    FirstFragment fragmentFirst = new FirstFragment();
    Bundle args = new Bundle();
    args.putInt("someInt", page);
    args.putString("someTitle", title);
    fragmentFirst.setArguments(args);
    return fragmentFirst;
}

// Store instance variables based on arguments passed
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    page = getArguments().getInt("someInt", 0);
    title = getArguments().getString("someTitle");
}

// Inflate the view for the fragment based on layout XML
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_first, container, false);
    EditText editText = (EditText) view.findViewById(R.id.editText);
    final PieChart piechart = (PieChart) view.findViewById(R.id.piechart);
    final Button button2 = (Button) view.findViewById(R.id.button2);

    new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageSelected(int position) {

        }

        @Override
        public void onPageScrollStateChanged(int position) {


        }
    };











    button2.setOnClickListener(new View.OnClickListener() {
        public void onClick (View view) {
            getResources().getColor(R.color.violp);
            getResources().getColor(R.color.bluep);
            getResources().getColor(R.color.redp);
            getResources().getColor(R.color.greenp);
            getResources().getColor(R.color.yellowp);
            getResources().getColor(R.color.orangep);
            getResources().getColor(R.color.lightbluep);
            getResources().getColor(R.color.purplep);
            getResources().getColor(R.color.darkredp);

            PieDataSet set = new PieDataSet(entries, "");


            set.setColors(new int[]{R.color.bluep, R.color.greenp, R.color.violp, R.color.redp, R.color.yellowp, R.color.orangep, R.color.lightbluep, R.color.purplep, R.color.darkredp}, getActivity());
            PieData datax = new PieData(set);
            piechart.setData(datax);

            Toast.makeText(getActivity(), (R.string.loading),
                    Toast.LENGTH_SHORT).show();

            piechart.setNoDataText(String.valueOf(R.string.nodata));
            piechart.notifyDataSetChanged();
            piechart.animateX(2000, Easing.EasingOption.EaseInExpo);
            piechart.animateY(2000, Easing.EasingOption.EaseInExpo);



            }



        });






    return view;
}

PS:如果我可以更好地提出这个问题或者根本不应该问这个问题,请告诉我。我愿意成为一个更好的社区成员,谢谢。

0 个答案:

没有答案