Во-первых, я хотел бы заранее поблагодарить вас за чтение / ответ на мой первый вопрос о переполнении стека. Я новичок в java (android studio) и немного борюсь с пониманием всех этих объектов ...
Я создаю свое первое приложение и создал новый класс для хранения и обработки некоторых свойств Tile.
Я хочу создать экземпляр объекта, а затем использовать ссылку на этот объект, и я передам его другим методам изменения данных в TileProperties. (Я считаю, что это хорошая оптимизация использования памяти)
Я попробовал несколько решений, которые я нашел, но не смог заставить их работать полностью или не мог понять код.
Вот то, что я сделал, и это работает сейчас, но мне интересно, будет ли это наилучшей практикой, а также хорошим ли это вариантом в будущем:
public class TileProperties {
private String length ;
private String width ;
public static TileProperties object; // I created a static object TileProperties
// which I use to pass the reference
public String getLength() {
return length;
}
public void setLength(String length) {
this.length = length;
}
Код ниже показывает мою деятельность класс, где пользователь вводит все свойства. Кроме того, это место, где я инициирую свой объект. Tiles
public class TileSettingActivity extends AppCompatActivity {
TileProperties tiles = new TileProperties();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tile_setting);
}
public void clickOkButton (View view) {
TileProperties.object = tiles; // save the object reference tiles to be used by others
EditText lengthTile = findViewById(R.id.editText2);
tiles.setLength(lengthTile.getText().toString());
Log.i("Length:", tiles.getLength());
}
А затем в своей основной деятельности я написал следующее:
public class MainActivity extends AppCompatActivity {
public void clickScanButton(View view){
TileProperties obj ; // define object reference
obj = TileProperties.object; // get the reference of the orginal object Tiles
Log.i("info:", obj.getLength());
}
Спасибо !!