如何将数据从 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);
这是我的 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);