我的HomeActivity中是否有var searchText = et_search_field?.text?.toString()?我需要将$search文本传递到“https://t.supersimplesearch1.com/searchm?q=$searchText&n=9250”但我无法以任何方式完成此操作,因为我无法在另一个类中调用此变量
private fun onSearchClicked() {
val searchText = et_search_field?.text?.toString()
if (!searchText.isNullOrEmpty()) {
if (searchText.contains(".") && !searchText.contains(" ")) {
requestToWeb =
if (searchText.startsWith("http://") ||
searchText.startsWith("https://"))
searchText
else "http://$searchText"
createHttpTask(requestToWeb!!)
.addOnSuccessListener {
isSiteAvailability = true
startActivity(
BrowserActivity.newIntent(
this,
requestToWeb,
isSiteAvailability = isSiteAvailability
)
)
}
.addOnFailureListener {
requestToWeb = requestToWeb!!.replace("http://", "")
isSiteAvailability = false
if (it.message == "Error: 301") {
requestToWeb = "https://$requestToWeb"
createHttpTask(requestToWeb!!)
.addOnSuccessListener {
isSiteAvailability = true
startActivity(
BrowserActivity.newIntent(
this,
requestToWeb,
isSiteAvailability = isSiteAvailability
)
)
}
.addOnFailureListener {
requestToWeb = requestToWeb!!.replace("https://", "")
isSiteAvailability = false
startActivity(
BrowserActivity.newIntent(
this,
requestToWeb,
isSiteAvailability = isSiteAvailability
)
)
}
} else {
startActivity(
BrowserActivity.newIntent(
this,
requestToWeb,
isSiteAvailability = isSiteAvailability
)
)
}
}
} else {
isSiteAvailability = false
requestToWeb = searchText
startActivity(
BrowserActivity.newIntent(
this,
requestToWeb,
isSiteAvailability = isSiteAvailability
)
)
}
} else {
Toast.makeText(this, getString(R.string.search_empty_error), Toast.LENGTH_SHORT).show()
}
}
这是家庭活动
我全球化了这个变量,但这也没有帮助
1条答案
按热度按时间kq0g1dla1#
瓦尔intent =意图(此,其他活动::class.java)意图。putExtra(“我的密钥”,您的数据)开始活动(意图)
您可以将实现Serializable的数据放入JSON中,或者您可以将JSON中的数据序列化/反序列化以获得String,例如GSON。
使用Otto https://square.github.io/otto/或GreenRobot https://github.com/greenrobot/EventBus,您在总线和其他文件中的活动发布数据可以监听总线并接收数据。
您可以创建全局变量
随处使用
使用方法创建接口,您的活动将调用它们,而其他类将侦听
在您的活动中
以及何时发送数据
在另一个班级
使用此选项可以处理内存泄漏。