繁体   English   中英

如何获取方法的返回值?

[英]How to get the return value of a method?

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

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 值。

通常,您会 a) 创建一些类,b) 将类成员设为“私有”,然后 c) 使用getter 和 setter 方法公开这些成员。

例子:

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 和 Setter 教程,Nam Ha Minh

有一系列方法可以解决您的问题。 例如,

首先- StartConversion 的方法用于设置卡片名称,然后提供一个 getter 方法来访问。

第二 - 只使用 StartConversion 的方法来返回你想要的。 但是您应该更改代码以return view.getResources().getResourceEntryName(view.getId()); , 删除cardName = 外部类应该被称为您想要访问的方法。

一句话,要么调用方法直接访问,要么给个setter再用getter访问。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM