获取从另一个类创建的变量

时间:2018-05-11 19:06:46

标签: java android

我从另一个类中获取我创建的变量时遇到了一些问题。

这是我从中检索的数据。

public class Data{

    private String mName;

    public Data(String sometext){
    this.mName = sometext;
    }

    public String getmName(){
    return mName;
    )

以下是主要内容。

public class Class1 extends Fragment{

    private Data mData;

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInsatanceState){
    View view = inflater.inflate(R.layout.one, container, false);

    mData = new Data("Someone Name")
    .
    .
    .

这是问题,从类Data2我无法检索我从Class1创建的变量。

public class Data2{

    private Data notworking;

    public Data2(){
        notworking.mName;          //not working, reference to null
        notworking.getmName        // this is also not working, reference to null
    }

我无法创建新数据,因为它将是一个新对象。这两个都引用null。是否有其他方法可以在不使用公共变量的情况下访问我创建的对象。

加。图片以便更好地理解 picture illustrator

1 个答案:

答案 0 :(得分:0)

基本上你要做的就是将Data2类中的变量“notworking”分配给你在Class1中创建的Data对象“mData”。

实现此目的的一种简单方法是使用Data2构造函数将Data对象作为参数,然后将notworking指定给该参数。

public class Data2 {
    private Data notworking;

    public Data2(Data dataObject){
        notworking = dataObject;
    }

    // getter method necessary since "notworking" is private
    public Data getNotworking() {
        return notworking;
    }

}

显然,你需要Class1中的Data2变量。然后你只需构造你的Data2对象并传入“mData”。

mData2 = new Data2(mData);