为了账号安全,请及时绑定邮箱和手机立即绑定

在另一个布局中获取 EditText 的值

在另一个布局中获取 EditText 的值

沧海一幻觉 2021-08-04 17:54:17
我有一个对话框出现,用户可以在其中计算他们从每个动作中获得的分数。该对话框基于不是 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);


查看完整回答
反对 回复 2021-08-04
  • 2 回答
  • 0 关注
  • 204 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信