###前提・実現したいこと
クラスを呼び出して、呼び出されたクラスからPreferenceを読み込み
データをリターンとして返し帰ってきたデータをTexitViewに表示したいです
###該当のソースコード
呼び出し・表示側(Fragment0)
import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageButton; import android.widget.TextView; public class Fragment0 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.activity_fragment0, container,false); > TextView textView1 = (TextView)v.findViewById(R.id.name); > > > Main2Activity main2 =new Main2Activity(); > > String N=main2.getName(); > > textView1.setText(N); > > return v; } @Override public void onStart() { super.onStart(); final ImageButton imageButton4 = (ImageButton)getActivity().findViewById(R.id.imageButton4); imageButton4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getActivity(), Setting.class); startActivityForResult(intent, 0); } }); } }
呼び出される側(Main2Activity )
package com.example.syoribuuser.firstopenandfragment; import android.content.SharedPreferences; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.view.ViewPager; public class Main2Activity extends FragmentActivity { ViewPager viewPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); viewPager = (ViewPager) findViewById(R.id.pager); viewPager.setAdapter( new MyFragmentStatePagerAdapter( getSupportFragmentManager())); } > String getName(){ > > SharedPreferences preferences = getSharedPreferences("PrefrencesFile", MODE_PRIVATE); ・・・・・・エラー > String str = preferences.getString("NAME",""); > return str; } }
Preference(PrefrencesFile)
<?xml version="1.0" encoding="UTF-8" standalone="true"?> -<map> <string name="DAY">22</string> <string name="YEAR">1999</string> <string name="LIKE1">Sports</string> <string name="NAME">yujin</string> <string name="LIKE4">contry</string> <string name="GENDER">men</string> <string name="MONTH">12</string> <int name="Likecount" value="4"/> <string name="LIKE2">politics</string> <string name="LIKE3">uninternational</string> </map>
###試したこと
Log.d()を使ってエラーの発生個所を調べましたMain2Activityの下から5行目です。しかしどのサイトを見てもPreference読み込みはこのようなコードで書くと書いてあり困っています。
初心者なのでこの場所以外にもおかしな書き方があるかもしれませんが
そこは大目に見てよろしくお願いします
どのような原因でエラーが起こるのでしょうか
解決方法など教えていただけるとありがたいです
ちなみに>印の場所が主に呼び出しなどに使っている部分です。
###補足情報(言語/FW/ツール等のバージョンなど)
AndroidStudio
java
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/22 05:56
2017/03/22 06:01