英単語帳アプリを作っています。
Fragmentを用意しViewPagerを使ってスライドしていきます。
SQLiteファイルからデータを取得し、
単語や意味などの一覧を画面に表示させることはできるようになりました。
あくまでも単語帳なので、初めに単語を出してから
ボタンをタップして意味などを出すようにしたいと考えています。
一度自分なりに調べた方法で試してみると、
1つ目の単語はうまいこと表示できますが、
2つ目の単語以降、ボタンをタップしたところ
前のページ(1つ前の単語のページ)に意味が出てしまいます。
※3つ目の単語のページでボタンをタップしたら3ページには何も出ず、2ページに3つ目の単語の意味が出る、という意味です。
どこに問題があるのでしょうか、、、
JAVA
1package com.example.wordcard2; 2 3import android.support.v4.app.Fragment; 4import android.graphics.Color; 5import android.os.Bundle; 6import android.util.Log; 7import android.view.LayoutInflater; 8import android.view.View; 9import android.view.ViewGroup; 10import android.widget.Button; 11import android.widget.TextView; 12 13import org.w3c.dom.Text; 14 15public class wordFragment extends Fragment { 16 17 @Override 18 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 19 // View をつくる 20 View layout = inflater.inflate(R.layout.fragment_word, container, false); 21 22 Bundle bundle = getArguments(); 23 int page = bundle.getInt("page"); 24 String word = bundle.getString("word");/*※①*/ 25 26 TextView wordView = (TextView) layout.findViewById(R.id.word_view); 27 wordView.setText(word); 28 29 TextView pageView =(TextView) layout.findViewById(R.id.page_view); 30 pageView.setText(String.valueOf(page)); 31 32 Button button = (Button) layout.findViewById(R.id.mean_button); 33 button.setOnClickListener(new View.OnClickListener() { 34 35 @Override 36 public void onClick(View v) { 37 38 Bundle bundle = getArguments(); 39 int page = bundle.getInt("page"); 40 String word = bundle.getString("word"); /*※①と同じ単語を取得*/ 41 String pron1 = bundle.getString("pron1");/*単語の発音記号を取得*/ 42 String pron2 = bundle.getString("pron2");/*発音記号カナ読みを取得*/ 43 String mean1 = bundle.getString("mean1");/*意味①を取得*/ 44 String mean2 = bundle.getString("mean2");/*意味②を取得*/ 45 String des = bundle.getString("des"); /*注意点や詳細を取得*/ 46 String part = bundle.getString("part"); /*品詞を取得*/ 47 48 TextView pronView =(TextView) getActivity().findViewById(R.id.pron_view); 49 pronView.setText(word +"【" + pron1 + pron2 + "】"); 50 51 TextView partView =(TextView) getActivity().findViewById(R.id.part_view); 52 partView.setText(part); 53 54 TextView mean1View =(TextView) getActivity().findViewById(R.id.mean1_view); 55 mean1View.setText("①" + mean1); 56 57 TextView mean2View =(TextView) getActivity().findViewById(R.id.mean2_view); 58 mean2View.setText("②" + mean2); 59 60 TextView desView =(TextView) getActivity().findViewById(R.id.des_view); 61 desView.setText(des); 62 } 63 }); 64 65 return layout; 66 } 67} 68
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/12 07:02