我有一个带有按钮的活动。在按钮上单击“我想更新文本视图中的文本”。我想用ViewBinding普通的代替findViewById
这就是我创建 val 绑定的方式
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val binding = ActivityMainBinding.inflate(layoutInflater);
setContentView(binding.root)
binding.btnRoll.setOnClickListener {
rollDice()
}
}
Run Code Online (Sandbox Code Playgroud)
现在rollDice我想更新文本视图,但我无法访问有意义的绑定,因为它的范围仅限于onCreate(),那么对此的最佳实践是什么?
private fun rollDice() {
val random = Random().nextInt(6) + 1
binding.txt_random.setText("random")
}
Run Code Online (Sandbox Code Playgroud) 我创建了一个组件并将其导出
import React , {Component} from 'react'
import logo from './logo.svg';
class Item extends Component {
render () {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h1 className="App-title">ReactND - Coding Practice</h1>
</header>
<h2>Shopping List</h2>
<form onSubmit={this.addItem}>
<input
type="text"
placeholder="Enter New Item"
value={this.state.value}
onChange={this.handleChange}
/>
<button disabled={this.inputIsEmpty()}>Add</button>
</form>
<button onClick={this.deleteLastItem} disabled={this.noItemsFound()}>
Delete Last Item
</button>
</div>
)
}
}
export default Item
Run Code Online (Sandbox Code Playgroud)
我想在我的应用程序组件中使用这个组件,如下所示
import React from 'react';
import './Item';
class App extends React.Component {
render() {
return …Run Code Online (Sandbox Code Playgroud)