亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在另一個布局中獲取 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 關注
  • 238 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號