public class MainActivity extends AppCompatActivity {
public ShareData SD = new ShareData();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SD.set_numb(5);
}
// when button clicked
public void noviEkran(View view){
Intent i = new Intent(this,klasaB.class);
startActivity(i);
}
}
public class ShareData {
private int number;
public ShareData(){
this.number=0;
}
public void set_numb(int num){
number = num;
}
public int get_numb(){
return number;
}
}
public class klasaB extends Activity{
ShareData sd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int i =sd.get_numb();
System.out.println("Saved numb:" + i);
}
}
Мой вопрос: если я объявляю объект в 1-м классе и задаю его номер параметра 5, как получить это число от другого класса, теперь мой apk падает при чтении «int i = sd.get_numb();» в классе «klasaB». Любое предложение, как сделать эту работу? ps: Я не хочу использовать статические переменные или putExtra с намерениями.Как получить данные от объекта, созданного в другом классе в новом классе - java
Tnx, но теперь я не получаю номер 5 как вывода, я получаю номер 0, любое предложение почему? – Plexer
Сначала вы должны SET_NUMBER в сказать 'classA' затем использование ' ShareData с.о. = ShareData.getInstance(); '' sd.get_numb() ' в классе B –
общественного класса MainActivity расширяет активность { общественного ShareData SD = новый ShareData(); @Override protected void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); SD.set_numb (5); } // при нажатии кнопки public void noviEkran (View view) { Intent i = new Intent (это, klasaB.class); startActivity (i); } } еще 0: S: S: S – Plexer