如何将数据从 activity 传递到 class

How to pass data from activity to class

这是我的 activity 代码

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

这是我的 class 文件:

public class complaintAdapter{
 //code here
} 

现在谁能帮我把 "hello" 从 activity 传递到 class

可能有两种解决方案。

解决方案 1

像这样在对象创建过程中使用来自 Activity 的数据。

在 class 中创建一个可以像这样获取所需数据的构造函数

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

这个可以用在activity这样的

在 class 中创建一个方法并使用数据作为参数调用它。

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

解决方案 2

在这样的方法调用中使用来自 activity 的数据。

在 class 中创建一个方法并使用数据作为参数调用它。

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

这可以在activity中使用,像这样

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

改成这样:

@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();  
}

并以这种方式更改 Class:

public class ComplaintAdapter{
     private String value;

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

     public String getValue(){
        return this.value;
     }
} 

要将任何值传递给 class,您应该创建一个适当的构造函数。在这种情况下,您应该这样做:

public class complaintAdapter {

  private String value;

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

然后在 activity:

中创建一个实例
complaintAdapter adapter = new complaintAdapter(value);

P.S。正如 Java 代码约定规则所说 - 任何 java class 名称都应以大写符号开头,因此您最好将 class 重命名为 ComplaintAdapter

在您的 ComplaintAdapter 中创建一个构造函数 class

public class ComplaintAdapter{
 private String value;

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

然后当你创建this的对象时class将值传给constructor

ComplaintAdapter adapter = new ComplaintAdapter(value);