java - 如何获取方法的返回值?
问题描述
我是一个创建单位转换器的新手。我有两节课,第一节课有这个方法:
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 值。
解决方案
有一系列方法可以解决您的问题。例如,
首先- StartConversion 方法用于设置卡名,然后提供 getter 方法进行访问。
其次-仅使用 StartConversion 的方法返回您想要的。但是您应该将代码更改为 return view.getResources().getResourceEntryName(view.getId());
, 以删除cardName =
. 应该调用外部类来访问您想要的方法。
总之,要么调用方法直接访问,要么给一个setter,然后使用getter访问。
推荐阅读
- android - Braintree On Mobile - 如何在不执行付款请求的情况下使用 Drop In UI 获取 Nonce
- google-chrome-extension - Google Chrome 扩展程序:如何在丢弃/休眠状态下打开新标签页?
- android - 如何在多平台 Android 模块中配置 Kotlin jvmTarget?
- javascript - Discord自动角色反应机器人,出现表情符号错误
- python - 这个二叉树的删除节点功能是否正确?
- javascript - 将变量分配给对象值的更好方法是什么
- python - Python 帮助 - 循环
- php - 对对象数组使用 $casts
- reactjs - 如何向我构建的这个 simplepeer webrtc 应用程序添加静音/取消静音和视频开/关按钮?
- mysql - MYSQL:获取倒数第二个最大值行,但未显示某些日期。为什么?