私は、アクティビティではないクラスからgetSharedPreferencesを読み込んでプレイヤーにプレイリストを設定すると問題が発生します...私のアクティビティでは、オーディオファイルを扱うフォルダのパスを取得するためにedittextから文字列変数を受け取ります...Android以外のアクティビティgetSharedPreferences
public class MainActivity extends Activity {
String ppp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String PATH = getSharedPreferences("PATH", MODE_PRIVATE).getString("path", ppp);
if (PATH == null){
..........
...........
path_tv.setText("folder is undefined");
}
else {
path_tv.setText("folder defined: /mnt/sdcard/" + PATH);
}
set_path.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (path_edit.getText().toString().length() == 0){
Toast.makeText(getBaseContext(), "folder is undefined", Toast.LENGTH_SHORT).show();
}
else {
ppp = path_edit.getText().toString();
getSharedPreferences("PATH", MODE_PRIVATE)
.edit()
.putString("path", ppp)
.commit();
File folder = new File(Environment.getExternalStorageDirectory() + "/" + ppp);
boolean success = false;
if (!folder.exists()) {
success = folder.mkdir();
if (success) Toast.makeText(getBaseContext(), ".....", Toast.LENGTH_SHORT).show();
}
String PATH = getSharedPreferences("PATH", MODE_PRIVATE).getString("path", ppp);
path_tv.setText("........ /mnt/sdcard/" + PATH);
path_edit.setText("");
}
}
});
ので、...活動に私が変更することができ、共有設定で文字列の値を保存...しかしhoが、私は公共のクラスからそれを行うことができますか?すべての例を歓迎します...
私は、MyAppをマニフェストに追加しました。また、extendsを持つクラスとして追加しました。今では私のクラスでは、AppApp.getInstance();を追加したコンストラクタを作成しました。 – timonvlad
しかし、それでもnullpointexceptionを与えます....何が問題なのですか? – timonvlad
スタックトレースを渡せますか?おそらく私の電子メールに載っています。私たちがあなたの問題を解決したら、あなたの質問や私の答えを編集できます。 私はこのようなソリューションを何度も使ってきました。 –