最近我在玩Jetpack Compose,我注意到文本可能不会在TextField中显示。 所以我有一个Flow为ViewState的ViewModel。 在我的Compose文件中,我有类似如下的内容: @Composable
internal fun TestScreen() {
val state by viewModel.state.collectAsState()
TestScreen {
viewState = state,
actioner = { ... }
}
}
@Composable
private fun Te
我试图根据两个textfield的不为空将我的loginEnabled值更改为true或false,但是我当前的实现总是返回false,有人能看到我犯了什么错误吗?我的电子邮件和密码状态是使用两个textfield中的onValueChange函数更新的
@Composable
fun LoginScreen() {
var email by remember { mutableStateOf("") }
var password by remember { mutableStateOf("") }
var passwordVisibility by reme
我试图根据您导航到的屏幕更改SmallTopAppBar的标题。我把结果打印出来了。但是,当我将相同的结果分配给title时,它不会显示全局var。
var title = ""
LaunchedEffect(navController){
navController.currentBackStackEntryFlow.collect{backStackEntry ->
Log.d("App", backStackEntry.destination.route.toString())
title = backStac
我是jetpack的新手,我试着理解remember和mutableStateOf之间的区别
换句话说,这一行之间的尊重
val text = remember{ mutableStateOf("") }
还有这个
val text = remember{ "" }
这也是
val text = mutableStateOf("")
我有一个更复杂的对象,我希望在Jetpack写作中可以观察到。但是我不能用
// in my view model
var observableProperty by mutableStateOf(myObject)
因为我需要myObject来保持它的参考价值。所以我的计划是用
// in my view model
var observableProperty = myObject
并使myObject本身实现接口。但是,我不明白如何在自定义类中实现这一点,特别是如何向观察者(Jetpack撰写)发出更改通知?
下面是我目前所拥有的一个例子:
class MyComplexObject()
我正在尝试根据我的需求进行可组合的重新组合,例如:
@Composable
fun recomposeDemo() {
var countState = 0
Recompose { recompose ->
Column //Error in this line
{
Text("CountState is: " + countState)
Button(onClick = { countState++ })
我开始使用Jetpack compose (1.0.0-beta07),在使用TextField时遇到了一个非常奇怪的问题。根据所有可能的文档和说明,我做的每件事都是正确的,但是Android Studio经常给我写TextField的消息None of the following functions can be called with the arguments supplied.
下面是我写的代码,Studio仍然在Text (label)和text = it下划线,但我认为它在定义TextField时有问题。当我用"text"替换remember {mutableSta
我是新来的科特林和喷气背包作曲。所以当我开始创业的时候,我有了我的第一个问题,我无法独自解决它。当我开始将状态放在MainContent-函数中并将状态作为参数传递给TipCalcSurface时,问题就出现了。现在我遇到了以下问题:
Type mismatch: inferred type is Int but MutableState<Int> was expected
其他问题是错误类型的结果性问题,但为什么呢?如果我将类型更改为Int,则整个函数无法工作。下面是我的练习代码。
package com.example.customtippcalc
import androi
我想要实现MVVM架构,并且我试图从我的模型中绑定两个字符串变量,但是我不能。
我有一个模型和视图模型:
data class LoginModel(var correo:String = "", val password:String = "")
class LoginViewModel:ViewModel() {
var model by mutableStateOf(LoginModel())
fun setEmail(text:String){
model.correo = text
}
}
我有一个@Comp
当状态发生变化时,应重新组合。在代码示例中,一种状态更改,但重新组合不会触发,但在代码示例中,两种状态更改-- onButtonClick和recomposition -触发。
如何使代码示例在状态变化时重新组合?
代码下面的不触发重新组合
@Composable
fun doSomething(){
val context = LocalContext.current
val scope = rememberCoroutineScope()
var shouldDo by remember{ mutableStateOf(false) }
LaunchedE
我在屏幕上有一个可合成的列表,它显示了一个轨道项目(最喜欢的)列表:
var favourites: MutableList<Track> by mutableStateOf(mutableListOf())
@ExperimentalFoundationApi
@Composable
private fun ResultList(model: FreezerModel) {
with(model) {
if (favourites.isEmpty()) NoDataMessage("No favourites yet")
e
面对一次坠机在喷气背包组成,谁能帮我这个。
Fatal Exception: java.lang.IllegalArgumentException: offset(23) is out of bounds [0, 0]
at androidx.compose.ui.text.MultiParagraph.requireIndexInRangeInclusiveEnd(MultiParagraph.kt:593)
at androidx.compose.ui.text.MultiParagraph.getBidiRunDirection(MultiParagraph.kt:406)
val path=Environment.getDataDirectory()
val letDirectory = File(path, "LET")
letDirectory.mkdirs()
var fi = File(path,"Records.txt")
fi.appendText("I am testing this ....")
val contents = fi.readText()
Text(contents)
我的程序得到了crashed...Please的帮助
我在为jet compose....when编写代码,我编写了A
我有一个应用程序,它显示了几个不同的视图封装在AndroidView中。在下面要重现的简单示例中,这些只是TextView实例。问题是,更改文本(在本例中循环显示三个不同的值)似乎不会更新应用程序显示的内容。 sealed class AppView
data class ShowSomeText(val text: String) : AppView()
data class SomeOtherState(val data: Any?) : AppView()
data class ShowSomeText2(val text: String) : AppView()
class App
是否有一种方法可以在不失去状态的情况下重新创建一个可组合的?androidx.compose.runtime.key似乎不支持这个用例。
例如,在从以下方面过渡之后:
// This function is in the external library, you can not
// modify it!
@Composable
fun FooBar() {
val uid = remember { UUID.randomUUID().toString() }
Text(uid)
}
Box {
Box {
FooBar()
}
}
至
Box {
Ro
这个类只在延迟1秒后发出字符。
class MainViewModel: ViewModel() {
var bouncingName = flow<Char> {
val text="hemant"
for (letter in text){
delay(1000L)
emit(letter)
}
}
}
此主类在应用程序上连接字符串显示后显示字符串。
class MainActivity : ComponentActivity() {
@Sup
我面临的问题是导航-撰写(2.4.0-字母09)和相机库(1.1.0-字母08)在可组合的屏幕。如果我只使用相机视图(包装在AndroidView中),一切正常工作,图像捕捉工作正常。但是如果我在可组合导航中使用navController,图像捕获就无法工作,应用程序崩溃。
@ExperimentalCoilApi
@Composable
fun CameraScreen(navController: NavController) {
val context = LocalContext.current
val lifecycleOwner = LocalLifecycleOw