我有一個對話框出現,用戶可以在其中計算他們從每個動作中獲得的分數。該對話框基于不是 main_activity 的布局。主要活動是在 onCreate 方法中的 setContentView 中使用的布局。當我嘗試獲取值時,我只會得到 null,(因為 EditText 未設置為 contentview 的布局......也許?)我如何解決這個問題,以便我在“設置”布局中獲得 edittext 的值并可以在 MainActivity 中使用該值?private int teamOnePoints=0; private int teamTwoPoints=0;private boolean teamOneField=true;private int burnedPoints = 1;private int lyrePoints= 3;private int oneHandLyrePoints = 5;private int homeRunPoints=5;private int revPoints=1;private String teamOneName = "Lag 1";private String teamTwoName = "Lag 2";@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ToggleButton toggle = (ToggleButton) findViewById(R.id.field_team_toggle); //activates toggle button toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { //changes between the teams teamOneField=false; } else { teamOneField=true; } } }); FloatingActionButton fab = findViewById(R.id.points_edit_button); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { openDialog(); } });}
2 回答

阿晨1998
TA貢獻2037條經驗 獲得超6個贊
我強烈建議使用SharedPreferences. 這樣,即使您重新啟動應用程序,也可以訪問數據。如果這對您不起作用,您可以使用Intent.
考慮閱讀這篇StackOverflow 帖子。
使用共享首選項:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.points), pointsPerActivity);
editor.commit();
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
int defaultValue = 1;
// or you can store the value somewhere
// getResources().getInteger(R.integer.defaultPointsPerActivity);
int pointsPerActivity = sharedPref.getInt(pointsPerActivity, defaultValue);
添加回答
舉報
0/150
提交
取消