如何获得方法的返回值?

时间:2020-10-21 01:37:26

标签: java android

我是创建单位转换器的新手。 我有两个类,在第一堂课中有这个方法:

public String cardName;

public String StartConversion(View view){
    Intent intent = new Intent(this, ConversionActivity.class);
    startActivity(intent);
    return cardName = view.getResources().getResourceEntryName(view.getId());
}

我想在第二堂课中获取并使用cardName的值,所以:

MainActivity myObj = new MainActivity();
Toast.makeText(getApplicationContext(), "cardName: " + myObj.cardName, Toast.LENGTH_LONG).show();

但这不起作用。我知道局部变量只能在它们的范围内访问,所以我改为这样做。他们说,只有将其设为类成员,您才能访问它,虽然确实可以,但是它具有NULL值。

2 个答案:

答案 0 :(得分:0)

通常,您将a)创建一个类,b)将类成员设为“私有”,然后c)用getter and setter methods公开那些成员。

示例:

public class MyClass {

  private String cardName;

  public void StartConversion(View view){
    Intent intent = new Intent(this, ConversionActivity.class);
    startActivity(intent);
    cardName = view.getResources().getResourceEntryName(view.getId());
  }

  public getCardName() { return cardName; }
}

然后,任何要访问“ cardName”的类都将调用:

String cardName = myObject.getCardName();

请在此处查看更多详细信息: Java Getter and Setter Tutorial, Nam Ha Minh

答案 1 :(得分:0)

存在一系列解决问题的方法。例如,

首先-StartConversion方法用于设置卡名,然后提供一种getter访问方法。

第二-仅使用StartConversion方法返回所需的内容。但是您应该将代码更改为%b,以删除 return view.getResources().getResourceEntryName(view.getId());。外部类应称为所需的访问方法。

总而言之,要么调用该方法以直接访问,要么给出一个setter然后使用getter进行访问。