gpt4 book ai didi

java - Android Studio : Getters for editText

转载 作者:行者123 更新时间:2023-12-01 17:49:54 26 4
gpt4 key购买 nike

我想在另一个 Activity 中使用一个 Activity 的 2 个 editText 的值。到目前为止,这是我的代码。我得到:

java.lang.NullPointerException.

代码:

public class AddJob extends AppCompatActivity{
// vars
private BottomNavigationView bottomNavigationView;
private EditText editTextLat, editTextLng;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_job);

TextView textView = findViewById(R.id.activityTitleAddJob);
textView.setText("Add a Job");

editTextLat = findViewById(R.id.editTextLat);
editTextLng = findViewById(R.id.editTextLng);
}

public int getLatitude() {
return new Integer(editTextLat.getText().toString());
}

public int getLongitude() {
return new Integer(editTextLng.getText().toString());
}
}

堆栈跟踪:

enter image description here

这是 map 类的代码 fragment :

AddJob aj = new AddJob();
int lat = aj.getLatitude();
int lng = aj.getLongitude();
Toast.makeText(aj, lat + " " + lng, Toast.LENGTH_LONG).show();

最佳答案

Please read about the Activity lifecycle. You should never create an Activity directly with

new MyActivity()

这不会启动任何生命周期事件(onCreate 等),也不会将其绑定(bind)到上下文,在其上设置 View 层次结构,或者执行任何常规的 Activity 操作。可能正在期待。您的程序返回 null,因为 onCreate 从未在该 Activity 上调用,如果您只是尝试自己调用它,它可能会崩溃。

如果您希望一个 Activity 的数据在另一个 Activity 中可用,实现此目的的一种简单方法是将数据保存在SharedPreferences中。在 AddJob Activity 中(每当更新值时),并在 MapActivity 中从 SharedPreferences 访问它。您还可以在启动 Activity 时将数据添加到 Intent,从而将数据从一个 Activity 传递到下一个 Activity。

此处使用 SharedPreferences 的一个优点是,用户的选择将从一个应用 session 保存到下一个应用 session ,如果您有多个可以启动 MapActivity 的内容,则它们不必保留将数据传递给它。

关于java - Android Studio : Getters for editText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51468996/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com