final main m=new main();
그것은 잘못된 것입니다 : 여기
public class Secondclass extends Activity {
//other functions....
private void get_file_name() {
final main m=new main();
String myvalue=m.set_paramater();
//I want to access FOLDER_NAME here
Log.e("TAG","the value "+myvalue);
}
}
public class main extends Activity{
String FOLDER_NAME;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
FOLDER_NAME="a_name";
Save_file_name("APP_NAME",FOLDER_NAME);
}
private void Save_file_name(String key,String value){
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(key, value);
editor.commit();
}
public String set_paramater(){
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
String strSaveddata = sharedPreferences.getString("APP_NAME", "");
return strSaveddata;
}
}
}
는 추적 파일입니다! 당신이
SharedPreferences sharedPreferences = gePreferences(MODE_PRIVATE);
를 사용으로
Context
을 요구한다. 전화가 걸려 올 때 null입니다.
set_paramater()
Secondclass
에 set_paramater()
을 그냥 입력하십시오. 그것은 당신의 문제를 해결할 것입니다!
package com.example.test;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class main extends Activity {
String FOLDER_NAME;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FOLDER_NAME = "a_name";
Save_file_name("APP_NAME", FOLDER_NAME);
Button nextButton=(Button)findViewById(R.id.next_button);
nextButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
startActivity(new Intent(main.this,Secondclass.class));
}
});
}
private void Save_file_name(String key, String value) {
SharedPreferences sharedPreferences = getSharedPreferences(
"myPreffFile", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(key, value);
editor.commit();
}
}
및 ...
package com.example.test;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class Secondclass extends Activity {
// other functions....
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button nextButton = (Button) findViewById(R.id.next_button);
nextButton.setText("Show Value");
nextButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
get_file_name();
}
});
}
private void get_file_name() {
Toast.makeText(this, set_paramater(), Toast.LENGTH_SHORT).show();
}
public String set_paramater() {
SharedPreferences sharedPreferences = getSharedPreferences(
"myPreffFile", MODE_PRIVATE);
String strSaveddata = sharedPreferences.getString("APP_NAME", "");
return strSaveddata;
}
}
참고 : 완전히 테스트 코드입니다. 나는 이걸 실천한다. 아직도 잘못이왔다면 그 잘못은 다른 곳에서있다.
스택 추적을 게시 할 수 있습니까? –
추가했습니다. 체크 아웃 ... –
전체 스택 추적이 더 좋을 것입니다. –