EditText から文字列を取得する方法をドキュメントからご確認頂くのが良いかと思います.
追記
動作までは細かく問題があり一つずつの指摘ではバラバラになりそうので, 全体を fragment で再構成しました.
コメントで頂いた makequiz.xml には Button(@+id/makeQuiz_Button2) に onClick がありませんでしたので, android:onClick="makeQuiz2"
を追加しました.
res/layout/fragment_base.xml
XML
1<?xml version="1.0" encoding="utf-8"?>
2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:orientation="vertical"
6 android:id="@+id/contents" />
MainActivity.java
java
1package com.test.quizmaker;
2
3import android.os.Bundle;
4import android.support.v4.app.FragmentManager;
5import android.support.v7.app.AppCompatActivity;
6import android.view.View;
7
8import java.util.ArrayList;
9
10public class MainActivity extends AppCompatActivity {
11 //private SharedPreferences dataStore;
12 private ArrayList data = new ArrayList<String>();
13 private FragmentManager fragmentManager;
14 private QuizListFragment quizListFragment;
15 private MakeQuizFragment makeQuizFragment;
16
17 @Override
18 protected void onCreate(Bundle savedInstanceState) {
19 super.onCreate(savedInstanceState);
20 setContentView(R.layout.fragment_base);
21
22 fragmentManager = getSupportFragmentManager();
23
24 setQuizListFragment();
25
26 //dataStore = getSharedPreferences("DataStore", MODE_PRIVATE);
27 }
28
29 private void setQuizListFragment() {
30 if(quizListFragment == null) quizListFragment = new QuizListFragment();
31 fragmentManager.beginTransaction().replace(R.id.contents, quizListFragment).commit();
32 }
33
34 private void setMakeQuizFragment() {
35 if(makeQuizFragment == null) makeQuizFragment = new MakeQuizFragment();
36 fragmentManager.beginTransaction().replace(R.id.contents, makeQuizFragment).commit();
37 }
38
39 public void makeQuiz(View view) {
40 setMakeQuizFragment();
41 }
42
43 public void makeQuiz2(View view) {
44 String quizTitle = makeQuizFragment.getTitle();
45 //String quizQuestion = makeQuizFragment.getQuestion();
46 //String quizAnswer = makeQuizFragment.getAnswer();
47 makeQuizFragment.clear();
48 data.add(quizTitle);
49 setQuizListFragment();
50
51 //入力文字列を"input"に書き込む
52 //Editor editor = dataStore.edit();
53 //editor.putString("input", String.valueOf(text));
54 //editor.apply();
55 }
56
57 ArrayList<String> getData() {
58 return data;
59 }
60}
QuizListFragment.java
java
1package com.test.quizmaker;
2
3import android.os.Bundle;
4import android.support.annotation.Nullable;
5import android.support.v4.app.Fragment;
6import android.view.LayoutInflater;
7import android.view.View;
8import android.view.ViewGroup;
9import android.widget.ArrayAdapter;
10import android.widget.ListView;
11
12import java.util.ArrayList;
13
14public class QuizListFragment extends Fragment {
15 private ArrayAdapter<String> adapter;
16 private ListView listView;
17
18 @Override
19 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
20 View view = inflater.inflate(R.layout.activity_main, container, false);
21 listView = view.findViewById(R.id.listView);
22 return view;
23 }
24
25 @Override
26 public void onActivityCreated(@Nullable Bundle savedInstanceState) {
27 super.onActivityCreated(savedInstanceState);
28
29 // リスト項目とListViewを対応付けるArrayAdapterを用意する
30 ArrayList<String> data = ((MainActivity)getActivity()).getData();
31 if(adapter == null) adapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_list_item_1);
32 else adapter.clear();
33 adapter.addAll(data);
34
35 // ListViewにArrayAdapterを設定する
36 listView.setAdapter(adapter);
37 }
38}
MakeQuizFragment.java
java
1package com.test.quizmaker;
2
3import android.os.Bundle;
4import android.support.v4.app.Fragment;
5import android.view.LayoutInflater;
6import android.view.View;
7import android.view.ViewGroup;
8import android.widget.EditText;
9
10public class MakeQuizFragment extends Fragment {
11 private EditText quizTitle;
12 private EditText quizQuestion;
13 private EditText quizAnswer;
14
15 @Override
16 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
17 View view = inflater.inflate(R.layout.makequiz, container, false);
18 quizTitle = view.findViewById(R.id.editText);
19 quizQuestion = view.findViewById(R.id.editText2);
20 quizAnswer = view.findViewById(R.id.editText3);
21 return view;
22 }
23
24 String getTitle() {
25 return quizTitle.getText().toString();
26 }
27 String getQuestion() {
28 return quizQuestion.getText().toString();
29 }
30 String getAnswer() {
31 return quizAnswer.getText().toString();
32 }
33 void clear() {
34 quizTitle.getText().clear();
35 quizQuestion.getText().clear();
36 quizAnswer.getText().clear();
37 }
38}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/28 03:51
2019/04/28 05:04
2019/04/28 05:40
2019/04/28 08:39
2019/04/28 08:49
2019/04/28 12:36
2019/04/29 02:58
2019/04/29 03:00
2019/04/29 03:05 編集
2019/04/29 15:04
2019/04/29 15:13
2019/04/29 15:47 編集
2019/04/30 02:32
2019/04/30 09:57