我想为我的应用程序创建一个管理后台,我可以在其中更新设置为TextView(应该为EditText)的其他活动中的文本吗? 我在Admin活动中有一个EditText框,并设置了一个按钮,“应该”初始化EditText中当前内容的复制并将其保存到变量“ flowSales”,而不是尝试在客户中获取变量“ flowSales”活动和.setText到我的TextView。任何帮助都将不胜感激,即使它很简单,说明您做错了。
我能够在第二个活动中找到变量“ flowSales”,这时我的“ var flowSales = Editable”没有返回Editable的伴随对象。
adminPage.kt(后台)editMeFs是EditText框,flowSales是我创建的变量,因此可以将其拉至第二个活动
var flowSales = Editable
class adminPage : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_admin_page)
upDate.setOnClickListener{
flowSales = editMeFs.text
}
}
}
activity2.kt(用户页面)flowersales是要更新的TextView
class Activity2 : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_activity2)
setSupportActionBar(toolbar)
fab.setOnClickListener { view ->
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show()
}
flowersales.setText(flowSales)
}
}
所以现在var flowSales = Editable
我无法运行该应用程序,返回错误
"\adminPage.kt: (9, 17): Classifier 'Editable' does not have a companion object, and thus must be initialized here",
if i set "= null" or "= 0"
我可以运行我的应用程序并单击管理页面上的按钮,但是当我进入活动2时,它没有更新我放入EditText中的文本。
答案 0 :(得分:1)
首先,类名始终以大写开头。这是事实;
class AdminPage: AppCompatActivity()
如果我们解决您的问题,您可以通过这种方式解决;
lateinit var flowSales: String
class AdminPage : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_admin_page)
upDate.setOnClickListener{
flowSales = editMeFs.text.toString()
}
}
}
答案 1 :(得分:0)
var flowSales: String = ""
class adminPage : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_admin_page)
//do this function when button is clicked
upDate.setOnClickListener{
//edit the the variable to fit what's in editText
flowSales = editMeFs.text.toString()
}
}
}
用户活动
class Activity2 : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_activity2)
setSupportActionBar(toolbar)
fab.setOnClickListener { view ->
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show()
}
//call variable from admin page and set as flowersales text
flowersales.text = flowSales
}
}
这有效