Как передать данные из деятельности в класс - PullRequest
0 голосов
/ 18 сентября 2018

Вот мой код активности

 @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate( savedInstanceState );
    setContentView( R.layout.activity_engineer_recycler );
    String value = "hello";
    }

Вот мой файл класса:

public class complaintAdapter{
 //code here
} 

Теперь кто-нибудь может мне помочь, как передать это "привет" из деятельности в класс

Ответы [ 4 ]

0 голосов
/ 18 сентября 2018

Создайте конструктор в вашем классе ComplaintAdapter

public class ComplaintAdapter{
 private String value;

 public ComplaintAdapter(String value){
    this.value = value;
 }
}

Затем при создании объекта этого класса передайте значение конструктору

ComplaintAdapter adapter = new ComplaintAdapter(value); 
0 голосов
/ 18 сентября 2018

Измените его следующим образом:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate( savedInstanceState );
    setContentView( R.layout.activity_engineer_recycler );
    String value = "hello";
    ComplaintAdapter adapter = new ComplaintAdapter(value);

    //access to value
    adapter.getValue();  
}

и измените класс следующим образом:

public class ComplaintAdapter{
     private String value;

     public ComplaintAdapter(String value){
        this.value = value;
     }

     public String getValue(){
        return this.value;
     }
} 
0 голосов
/ 18 сентября 2018

Чтобы передать любое значение в класс, вы должны создать соответствующий конструктор.В этом случае вы должны сделать так:

public class complaintAdapter {

  private String value;

  public complaintAdapter(String value) {
    this.value = value;
  }
}

Затем вы создадите экземпляр в своей деятельности:

complaintAdapter adapter = new complaintAdapter(value);

PS Как гласит правило соглашений Java Code - любое имя класса java должно начинатьсяс символом в верхнем регистре, чтобы вы лучше переименовали свой класс в ComplaintAdapter

0 голосов
/ 18 сентября 2018

Для этого может быть два решения.

Решение 1

Использование данных из Activity при создании объекта следующим образом.

Создание конструкторав классе, который может принять требуемые данные, подобные этому

public class complaintAdapter{
private String _value;
    public complaintAdapter(String value){
        _value = value;
        // use _value
    }
}

Это можно использовать в операции, подобной этой.

Создайте метод в классе и вызовите его, используя данные какпараметр.

String value = "hello";
complaintAdapter complaintAdapterObj = new complaintAdapter(value);

Решение 2

Использование данных из операции в вызове метода следующим образом.

Создание метода в классе ивызовите его, используя данные в качестве параметра.

public class complaintAdapter{
    private String _value;
    public void sendData(String value){
        _value = value;
        // use _value
    }
}

Это можно использовать в упражнении, подобном этому

String value = "hello";
complaintAdapter complaintAdapterObj = new complaintAdapter();
complaintAdapterObj.sendData(value);
...