小编Hir*_*eri的帖子

如何显示水平Android不确定进度条

如何在android中显示不确定的水平进度条?进度条的动画应从0到100开始,然后从100连续返回0.我不是在寻找车轮进度条.

android android-progressbar

44
推荐指数
5
解决办法
8万
查看次数

如何在工具栏MenuItem图标上添加徽章

我试图找到自己的答案,但找不到它.

我需要在工具栏的MenuItem图标上制作徽章,如下所示:

在此输入图像描述

我该怎么做?

android badge android-toolbar

15
推荐指数
2
解决办法
2万
查看次数

如何为AutoCompleteTextView创建自定义BaseAdapter

我一直在为AutoCompleteTextView创建自定义ArrayAdapter时遇到困难,尽管在互联网上找到以下代码,但仍会出现这样的错误:

  • 下拉列表不会出现.
  • 自定义对象及其详细信息不会出现.

因此,对于那些遇到或遇到与我相同问题的人,我建议使用BaseAdapter代替AutoCompleteTextView.

android autocompletetextview android-arrayadapter baseadapter

10
推荐指数
2
解决办法
2万
查看次数

我应该在ViewModel中包括LifecycleOwner吗?

当前需要LifecycleOwner才能使我创建观察者。

我有在ViewModel中创建一个Observer的代码,因此在我的Fragment中检索ViewModel时附加了LifecycleOwner。

根据Google的文档。

警告:ViewModel绝不能引用视图,生命周期或任何可能包含对活动上下文的引用的类。

我是否打破了警告,如果这样做了,您建议我采用哪种方式移动我创建的观察者以返回数据?

我只是做一个观察者,所以我想知道它是否仍然有效。由于在谷歌的文档中也有提及。

ViewModel对象可以包含LifecycleObservers,例如LiveData对象。

主片段

private lateinit var model: MainViewModel

/**
 * Observer for our ViewModel IpAddress LiveData value.
 * @see Observer.onChanged
 * */
private val ipObserver = Observer<String> {
    textIp.text = it
    hideProgressBar()
}

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    model = ViewModelProviders.of(this).get(MainViewModel::class.java)
    model.attach(this)
}

override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? =
        inflater?.inflate(R.layout.fragment_main, container, false)

override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)

    buttonRetrieveIp.setOnClickListener {
        showProgressBar()
        model.fetchMyIp().observe(this, ipObserver) //Here we attach our …
Run Code Online (Sandbox Code Playgroud)

android mvvm android-viewmodel

9
推荐指数
1
解决办法
4924
查看次数

Ubuntu 22.04无法使用chrome或firefox上传文件

我目前使用的是 Ubuntu 22.04 LTS。

当我尝试使用任何浏览器上传文件时,该网站什么也不做。

文件上传截图

在上图中,如果我单击“添加文件”,然后“从您的设备中选择文件”。

我的文件管理器打不开。

拖放功能可以使用,但没有很多网站支持该功能。

当我尝试使用 Chrome 时,文件管理器窗口将启动,但选择文件后浏览器将冻结。

我尝试了一些修复:

  • 刷新浏览器(火狐)
  • 下载java插件插件
  • 通过终端安装xdg-desktop-portal, xdg-desktop-portal-gtk, 。ubuntu-restricted-extras

这些是我用来尝试解决此问题的链接:

  1. Ubuntu 10.10,我尝试了此修复但找不到冰茶插件

  2. 这正是我面临的问题

  3. 我尝试了这个修复

browser ubuntu-22.04

9
推荐指数
1
解决办法
5190
查看次数

'Make'和'Gradle-aware Make'有什么区别?

我在运行/调试配置中看到,在启动之前会先调用'Make'然后'Gradle-aware Make'.当我创建一个新项目并检查其配置时,我发现其中只有"Gradle-aware Make".我想知道是否在我之前的项目中我可以取出'Make',因为它使我的编译时间加倍.我确实已经把它拿出来,并没有发现任何并发症.

具有Make和Gradle-aware Make的项目

使用默认设置新创建的项目

android android-studio-2.2

7
推荐指数
1
解决办法
3090
查看次数

为什么要使用hashmap?

有人告诉我,哈希图很慢.所以我只是想知道是使用hashmap还是switch case逻辑.

我的要求就是这个.我有一组CountryNames和CountryCodes.我的ListView显示国家/地区的名称.单击国家/地区名称项时,我必须Toast the CountryCode.

在这种情况下,我应该维护CountryNames和代码的HashMap并访问它以获取相应的代码吗?:

myMap.put("US", 355);
myMap.put("UK", 459);
//etc
Run Code Online (Sandbox Code Playgroud)

或者编写一个这样的开关盒更好

switch (vCountryNamePos):
{
case 0:   //US
vCountryCode = 355;
break;
case 1:   //UK
vCountryCode = 459;
break;

//etc
}
Run Code Online (Sandbox Code Playgroud)

哪个更快?如果不是Hashmaps,那么在什么实际情况下会使用Map?

-Kiki

java android listview hashmap switch-statement

6
推荐指数
1
解决办法
9374
查看次数

如何从OkHttp解析XML返回?

这是我使用OkHttp的Async Get的OkHttp Post Form参数方法

public Call postGetCountries(Callback callback) {
    RequestBody body = new FormEncodingBuilder()
        .add("op", "op")
        .build();

    Log.d(TAG_PARAMS, "op=sgetcountrylist, app_type=1");

    Request request = new Request.Builder()
        .url(GATEWAY_URL)
        .post(body)
        .build();

    Call call = CLIENT.newCall(request);
    call.enqueue(callback);

    return call;
}
Run Code Online (Sandbox Code Playgroud)

这是我的自定义回调.

private class GetCountriesCallback implements Callback {
    @Override
    public void onFailure(Request request, IOException e) {
        Log.e("OkHttp", e.getMessage());
    }

    @Override
    public void onResponse(Response response) throws IOException {
        Log.d("PASSED", "PASS");
        Log.d(Connection.TAG_RETURN, response.body().string());

        try {
            InputStream is = response.body().byteStream();
            List test = connectionParser.parse(is, "op");

        } catch (XmlPullParserException …
Run Code Online (Sandbox Code Playgroud)

java android okhttp android-xmlpullparser

6
推荐指数
1
解决办法
3831
查看次数

调用ViewModel实例会重置LiveData吗?

在Kotlin我正在使用

viewModel = ViewModelProviders.of(this).get(HomeViewModel::class.java)
Run Code Online (Sandbox Code Playgroud)

从提供程序检索ViewModel.

在我的ViewModel中我有这样的东西.

val liveChuchuData = MutableLiveData<DataChuchu>()
Run Code Online (Sandbox Code Playgroud)

根据我的理解,这会创建MutableLiveData的最终新变量吗?

我记得在Java中的ViewModel中声明MutableLiveDatas时,我们创建了一个函数,然后检查MutableLiveData是否为null,只创建一次.那么如果我有一个片段也会使用相同的ViewModel实例呢?

val liveChuchuData = MutableLiveData<DataChuchu>()
Run Code Online (Sandbox Code Playgroud)

一旦在片段中调用,该行是否会导致重置当前数据?

android kotlin android-livedata android-viewmodel

3
推荐指数
1
解决办法
1467
查看次数