我有一个对话框出现,用户可以在其中计算他们从每个动作中获得的分数。该对话框基于不是 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
提交
取消