是否可以使用 Compose 框架创建 Spinner?因为我正在尝试,但看起来没有像创建 Button 这样的 compose 方法:
Button(onClick = {},
modifier = Modifier
.align(Alignment.CenterHorizontally)
.fillMaxWidth()
)
{
Text(text = "Next")
}
Run Code Online (Sandbox Code Playgroud)
任何建议如何创建 Spinner ?我需要使用 xml 吗?
在我的应用程序中,我想将信息发送到服务器,在收到成功响应后,我想将信息传递到当前屏幕以导航到另一个屏幕。
这是流程:
我从 UI 调用viewModel将请求发送到服务器。在ViewModel我有一个回调:
@HiltViewModel
class CreateAccountViewModel @Inject constructor(
private val cs: CS
) : ViewModel() {
private val _screen = mutableStateOf("")
val screen: State<String> = _screen
fun setScreen(screen: Screen) {
_screen.value = screen.route
}
private val signUpCallback = object : SignUpHandler {
override fun onSuccess(user: User?, signUpResult: SignUpResult?) {
setScreen(Screen.VerifyAccountScreen)
Log.i(Constants.TAG, "sign up success")
}
override fun onFailure(exception: Exception?) {
Log.i(Constants.TAG, "sign up failure ")
}
}
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我还State负责 Screen,因此当响应成功时,我想更新状态,以便 UI 层(Screen)知道它应该导航到另一个屏幕。我的问题是:我如何观察状态 …
我尝试用Volley库发出呼叫请求.我想设置标题,但我得到java.lang.UnsupportedOperationException.你知道为什么,我该如何解决这个问题?
public void getAccountInfo() {
RequestQueue queue = Volley.newRequestQueue(getApplicationContext());
String url = "http://demo.gopos.pl/oauth/token";
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// Display the first 500 characters of the response string.
Log.e(TAG, "onResponse SUCCES!!" + response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e(TAG, "That didn't work!");
}
}) {
@Override
public Map<String,String> getHeaders()throws AuthFailureError {
Map<String,String> params = super.getHeaders();
if(params==null)params = new HashMap<>();
params.put("username","username");
params.put("password","password");
return params;
} …Run Code Online (Sandbox Code Playgroud) 我需要一些ORMLite的帮助.我有ListView与从API下载的对象.在每个项目上我都有ToggleButton.点击后,TB项目被添加到我的数据库中,TB stata被检查为"clicked".这一切都发生在我的主要片段中,但是当我切换片段并再次回到主片段时,TB又被设置为"未点击".所以,我需要做的是检查何时创建主片段如果listView中的对象存在于数据库中,如果是这样,请检查ToggleButton状态是否被点击(我认为这将是一个正确的选项)但我不知道如何写查询:/
这是我的适配器代码,它将项目添加到DB:
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked) {
try {
final Dao<Concert, Integer> concertDao = getHelper().getConcertDao();
concertDao.create(concertList.get(position));
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud) 我在这里真的很困惑......看起来像一个非常愚蠢的错误,但我不知道发生了什么。这是我的代码的一小段:
if (tempDeltaDeviation > standardDeltaDeviation) {
Log.e(TAG, "handleMessage: plus $tempDeltaDeviation : $standardDeltaDeviation")
scaleUpAnimation(deltaAnimStep, "Delta", binding.deltaImg)
}
Run Code Online (Sandbox Code Playgroud)
非常基本的东西,对吧?检查日志我可以看到:
handleMessage: plus 1.57756888292539E14 : 7.8364593205657E13
Run Code Online (Sandbox Code Playgroud)
不知道,但上次我检查 1 比 7 小得多,所以为什么应用程序输入 if 语句?