RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-220675

Inkognito's questions

Martin Hope
Inkognito
Asked: 2020-10-24 16:19:21 +0000 UTC

使用 lambda 转换方法

  • 0

有一个我想缩短的方法(作为我发现将类名和 lambda 放入参数中的一个选项),但这个方法并不完全清楚:

private fun processStickyEvents(Class.name, lambda) {
...
}

这是方法本身:

private fun processStickyEvents() {
    EventBus.getDefault().getStickyEvent(FirstClass::class.java)?.let { onFirstEvent(it)  }
    EventBus.getDefault().getStickyEvent(SecondClass::class.java)?.let { onSecondEvent(it)  }
    EventBus.getDefault().getStickyEvent(AnotherClass::class.java)?.let { onAnotherEvent(it)  }
    EventBus.getDefault().removeStickyEvent(FirstClass::class.java)
    EventBus.getDefault().removeStickyEvent(SecondClass::class.java)
    EventBus.getDefault().removeStickyEvent(AnotherClass::class.java)
}

同样在其中一个论坛上,我发现了这样一个解决方案,不幸的是,它仍然不太适合我的想法:

目前它看起来像fun <T: Any> getStickyEvent(type: Class<T>): T?你可以使其具体化inline fun <reified T: Any> getStickyEvent(): T?然后你可以用作你之前使用的论点T::class.java的替代品type

谁能指导真人?)

android
  • 1 个回答
  • 10 Views
Martin Hope
Inkognito
Asked: 2020-10-12 17:48:09 +0000 UTC

测试数据类

  • 0

怎么可能测试这个类?

data class BreakdownEntry(val category: Category, val childList: List<BreakdownEntry>, val amount: Double,
                      val currencyCode: String, var percent: String = "")

例如,如果这样使用Serializable,那么我会以这个类为基础,在那里为变量设置一些数据,然后我会检查我写下的数据是否正确。

在这里,当我尝试创建一个对象时,我需要一次将所有这些参数写入对象,brr。

android
  • 1 个回答
  • 10 Views
Martin Hope
Inkognito
Asked: 2020-09-04 16:46:17 +0000 UTC

方法修改

  • 3

最初,我的方法如下所示:

override fun onListItemClick(itemIndex: Int, itemCode: String) {
    val data = adapter.getItem(itemIndex)
    if (data is TitleValueItem) {
        when (data.titleId) {
            R.string.v2_mobile_settings_language -> onLanguageClick()
        }
    }
}

现在我决定像这样转换它:

override fun onListItemClick(itemIndex: Int, itemCode: String) {
    when(adapter.getItem(itemIndex) as? TitleValueItem? ?: return) {
        R.string.some -> onLanguageClick()
    }
}

他就字符串资源对我发誓,说是 Int 而不是 TitleValueItem,我不明白我忘了添加那个。

android
  • 2 个回答
  • 10 Views
Martin Hope
Inkognito
Asked: 2020-08-15 19:22:29 +0000 UTC

更改开始颜色

  • 0

面临新的挑战:

对 3 个元素使用一种颜色,通过应用具有明确透明度 (%) 的蒙版来使颜色不同。

我想到的最快的事情是将布局应用为“电影”作为蒙版,就像设计师所做的那样,采用一种颜色并在其上施加“黑色背景”,第二次不透明度为 5%元素,第 3 元素为 8%。

但是这种方法并不完全合适,因为我们要应用遮罩的元素有圆角,在它下面已经有不同的背景,分别在元素的角所在的地方,背景颜色也会改变。

试图改变元素的透明度(使用 setAlpha()),但我没有得到特定的颜色。初始颜色:#7099b3;所需值:第二个元素:#738ab1
第三个元素:#757baf

也许有人看到了这项任务的替代方案?

java
  • 1 个回答
  • 10 Views
Martin Hope
Inkognito
Asked: 2020-08-03 22:45:29 +0000 UTC

在 ScrollView 中固定位置

  • 0

是否有可能以某种方式ScrollView使其不在包含它的标记中向下滚动,事实显然是某种错误,当您转到 API 25 中的片段时,它会立即向下滚动(本身)。

可以以某种方式应用 currentPosition chtoli,但不能剥夺用户滚动列表的权利。

java
  • 2 个回答
  • 10 Views
Martin Hope
Inkognito
Asked: 2020-07-31 20:09:53 +0000 UTC

获取设备的特定权限

  • 0

我们如何改进这种转换px为的方法dp?

fun convertPixelsToDp(px: Float, context: Context): Float {
    val resources = context.resources
    val metrics = resources.displayMetrics
    val dp = px / (metrics.densityDpi.toFloat() / DisplayMetrics.DENSITY_XXXHIGH)
    return dp
}

由于DisplayMetrics.DENSITY_XXXHIGH不想将该值作为常量取出,因此很可能以某种方式以更好的方式获得设备屏幕分辨率。

android
  • 1 个回答
  • 10 Views
Martin Hope
Inkognito
Asked: 2020-07-10 20:47:07 +0000 UTC

转换方法

  • 1

我这样调用方法:

fun setListClickListener(listItemClickListener: ListItemClickListener?) {
    this.listItemClickListener = listItemClickListener
}

他们发表了评论:“使用 kotlin 的默认设置器”你能告诉我你如何将它转换为默认设置器吗?

试图做这样的事情

fun setListClickListener(listItemClickListener: ListItemClickListener?) {
    var listItemClickListener: ListItemClickListener? = listItemClickListener
}

但事实证明我listItemClickListener没有使用它,因此点击不起作用。

android
  • 1 个回答
  • 10 Views
Martin Hope
Inkognito
Asked: 2020-07-03 18:44:18 +0000 UTC

创建布尔数组[关闭]

  • 0
关闭。这个问题需要澄清或补充细节。目前不接受回复。

想改进这个问题?添加更多详细信息并通过编辑此帖子澄清问题。

5 年前关闭。

改进问题

如何创建一个长度等于我的回收器元素数量的布尔数组?

android
  • 2 个回答
  • 10 Views
Martin Hope
Inkognito
Asked: 2020-06-16 20:19:42 +0000 UTC

继承类

  • 1

如何继承 DatabaseTestCase 类

1)对象

object ProfilesRepository : BaseSyncRepository<Profile, ProfileData>()

2) 主持人

class Presenter(val contract: UnlockAppViewContract?)

我按照方案试过了,可惜不是那样的

class : DatabaseTestCase
android
  • 1 个回答
  • 10 Views
Martin Hope
Inkognito
Asked: 2020-06-08 16:51:14 +0000 UTC

应用程序未安装在应用程序快捷方式中

  • 1

我开始使用 AppShortcuts,根据离线文档的要求创建所有内容:

<shortcuts xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:targetApi="25">
<shortcut
    android:enabled="true"
    android:icon="@drawable/ic_category_transfer"
    android:shortcutId="shortcut_name"
    android:shortcutShortLabel="@string/common_transactions_add_transaction">
    <intent
        android:action="android.intent.action.VIEW"
        android:targetClass=".LauncherActivity"
        android:targetPackage="com.sai.android">
    </intent>
    <categories android:name="android.shortcut.conversation" />
</shortcut>

在模拟器中测试,出现带有文本的图标,但是当您尝试浏览此选项卡时,它会显示文本

应用程序未安装

虽然安装了应用程序。也许是 attribute android:action,因为我还没有完全弄明白。

java
  • 2 个回答
  • 10 Views
Martin Hope
Inkognito
Asked: 2020-06-06 19:39:08 +0000 UTC

异常转换为 String

  • 0

在 catch 块中的 try / catch 怎么可能

catch (e: Exception) {
        e.log()

e 转换为 String 并将其与某个字符串进行比较?

android
  • 1 个回答
  • 10 Views
Martin Hope
Inkognito
Asked: 2020-06-06 15:30:00 +0000 UTC

在 IntentService'e 中输出 AlertDialog'a

  • 2

大佬们,有个任务,不知道怎么处理。override onHandleIntent有一个方法try catch,我需要把输出AlertDialog,如何正确地做,我不知道,因为这里没有接口(+原来我必须敲活动)?

班级代码

class GcmRegistrationIntentService : IntentService("GcmRegistrationIntentService") {

override fun onHandleIntent(intent: Intent?) {
    try {
        val gcmSenderId = FlavorSettings.gcmSenderId
        val systemToken = if (gcmSenderId.isEmpty()) gcmSenderId
            else InstanceID.getInstance(this).getToken(gcmSenderId, GoogleCloudMessaging.INSTANCE_ID_SCOPE, null)
        if (PreferenceRepository.gcmToken != systemToken) {
            PreferenceRepository.gcmToken = systemToken
            if (UserSession.isUserSignedIn() && ProfilesRepository.lastProfile() != null) {
                JobManager.scheduleAutoSync()
            }
        }
    } catch (e: Exception) {
        e.log()
    }
}

}

android
  • 2 个回答
  • 10 Views
Martin Hope
Inkognito
Asked: 2020-06-05 15:55:49 +0000 UTC

传输映射'a

  • 0

收集器中有一个方法

fun collectEnabledAccountsGroupByLogin(selectedGuid: String): List<AccountSelectItem> {
return RealmManager.realm.where(Account::class.java).equalTo(KEY_ENABLED, true)
        .findAllSorted(arrayOf(KEY_LOGINGUID, KEY_NAME), arrayOf(Sort.ASCENDING, Sort.ASCENDING))
        .map { AccountSelectItem(it.guid, it.name, it.getCurrencyCode(), selectedGuid == it.guid) }

我想将我的映射传输给演示者。如何正确地做到这一点?

android
  • 1 个回答
  • 10 Views
Martin Hope
Inkognito
Asked: 2020-05-29 15:51:44 +0000 UTC

RecyclerView 适配器返回位置 -1

  • 3

有一种方法可以处理点击元素:

override fun onListItemClick(itemIndex: Int, itemCode: String) {
    presenter.onItemClick(adapter.getItem(itemIndex))
}

但问题是用户以某种方式设法点击了 -1 元素。是什么给了我错误:

"backtrace" => "[\"java.lang.ArrayIndexOutOfBoundsException: length\u003d25; index\u003d-1\",\" 在 java.util.ArrayList.get(ArrayList.java:310)\",\" 在 com.project.android.features.common.base_list.AbstractListAdapter.getItem(AbstractListAdapter.kt :20)\",\" 在 com.project.android.features.categories.selector.CategorySelectDialog.onListItemClick(CategorySelectDialog.kt:59)\",\" 在 com.project.android.features.categories.selector.CategorySelectItemViewHolder $1.onClick(CategorySelectItemViewHolder.kt:32)\",\" 在 android.view.View.performClick(View.java:4856)\",\" 在 android.view.View$PerformClick.run(View.java: 19956)\",\" 在 android.os.Handler.handleCallback(Handler.java:739)\",\" 在 android.os.Handler.dispatchMessage(Handler.java:95)\",\"

这怎么可能?以及如何排除用户点击-1列表项的那一刻?

在我使用此方法的地方之一:

        titleView.setOnClickListener { listener?.onListItemClick(adapterPosition, "") }

我去了 adapterPosition 的实现,看到了以下内容:

/** * 返回此 ViewHolder 所表示的项目的 Adapter 位置。*

* 请注意,这可能与 {@link #getLayoutPosition()} 不同,如果有 * 挂起的适配器更新但尚未发生新的布局传递。*

* RecyclerView 在下一次布局遍历之前不会处理任何适配器更新。这 * 可能会在用户在屏幕上看到的内容与 * 适配器内容之间产生暂时的不一致。这种不一致并不重要,因为它会小于 * 16 毫秒,但如果您想使用 ViewHolder 位置访问 * 适配器,则可能会出现问题。有时,您可能需要获取确切的适配器位置以执行一些响应用户事件的操作。在这种情况下,您应该使用此方法 * 将计算 ViewHolder 的适配器位置。*

* 请注意,如果您调用了 {@link RecyclerView.Adapter#notifyDataSetChanged()},直到 * 下一次布局传递,此方法的返回值将为 {@link #NO_POSITION}。* * @return 项目的适配器位置(如果它仍然存在于适配器中)。* {@link RecyclerView#NO_POSITION} 如果项目已从适配器中移除, * {@link RecyclerView.Adapter#notifyDataSetChanged()} 已在最后一次 * 布局传递后调用或 ViewHolder 已被回收。*/

也许某处有问题?因为正是在这个方法中返回了 -1。

public final int getAdapterPosition() {
        if (mOwnerRecyclerView == null) {
            return NO_POSITION;
        }
        return mOwnerRecyclerView.getAdapterPositionFor(this);
    }
java
  • 2 个回答
  • 10 Views
Martin Hope
Inkognito
Asked: 2020-05-27 23:11:55 +0000 UTC

向 onBindViewHolder 方法添加参数?

  • 1

如何向方法添加更多参数onBindViewHolder()?每次我尝试添加新参数时,系统都会提示我再次重新实现此方法,但使用默认参数。

java
  • 1 个回答
  • 10 Views
Martin Hope
Inkognito
Asked: 2020-05-26 18:14:41 +0000 UTC

将正则表达式添加到构造函数

  • 2

我正在尝试使用如下正则表达式更改构造函数中参数的值:

constructor(message: String = "", classError: String = ERROR_CLASS_API_RESPONSE) : this() {
    this.message = message.replace("""^[^@]*""".toRegex())
    this.classError = classError.replace("""^[^@]*""".toRegex())
}

但它对 replace 方法的参数类型发誓。不太确定还要添加什么?

android
  • 1 个回答
  • 10 Views
Martin Hope
Inkognito
Asked: 2020-05-12 22:37:51 +0000 UTC

无法访问变量

  • 2

为计时器创建了一个方法

override fun showTimer(timeOut: Long) {
        val timer = object : CountDownTimer(timeOut, 1000) {
            override fun onTick(millisUntilFinished: Long) {
                actionWarning.text = String.format(AppResources.getString(R.string.wait),
                        millisUntilFinished / 1000)
            }

            override fun onFinish() {
            }
        }.start()
    }

但是我无法访问onDestroy() 方法中的计时器变量

android
  • 1 个回答
  • 10 Views
Martin Hope
Inkognito
Asked: 2020-05-11 15:58:42 +0000 UTC

关于应用程序生命周期的问题

  • 0

如果我关闭应用程序,那么会调用什么方法?onStop()或者onDestroy()?在我启动应用程序后,再次调用该方法onResume()?还是我有点困惑?

java
  • 2 个回答
  • 10 Views
Martin Hope
Inkognito
Asked: 2020-05-10 22:15:19 +0000 UTC

设置初始缩放

  • 2

我使用地图,最初如何设置缩放比例(大约只能看到这些标记所在的城市)?

我的 MapActivity 类:

public class MapActivity extends AppCompatActivity implements OnMapReadyCallback {
private ChildEventListener mChildEventListener;
private DatabaseReference mFruitRef = FirebaseDatabase.getInstance().getReference("Fruit");

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_map);
    createMapView();
}

private void createMapView() {
    MapFragment mapFragment = (MapFragment) getFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);
}

@Override
public void onMapReady(GoogleMap googleMap) {
    googleMap.setOnMarkerClickListener(marker -> false);
    googleMap.getUiSettings().setZoomControlsEnabled(true);
    Marker marker = new Marker("Orange", 47.000327, 28.867950, "some info");
    Marker marker2 = new Marker("Bananas", 47.045029, 28.861427, "some info");
    Marker marker3 = new Marker("Peaches", 47.024204, 28.889236, "some info");
    mFruitRef.push().setValue(marker);
    mFruitRef.push().setValue(marker2);
    mFruitRef.push().setValue(marker3);

    googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);

    //get marker info from Firebase Database and add to map
    addMarkersToMap(googleMap);

    if (ActivityCompat.checkSelfPermission(this,
            android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
            && ActivityCompat.checkSelfPermission(this,
            android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
        return;
    }
    googleMap.setMyLocationEnabled(true);
}

@Override
public void onStop() {
    if (mChildEventListener != null)
        mFruitRef.removeEventListener(mChildEventListener);
    super.onStop();
}

private void addMarkersToMap(GoogleMap map) {
    mChildEventListener = mFruitRef.addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(DataSnapshot dataSnapshot, String s) {
            Marker marker = dataSnapshot.getValue(Marker.class);
            String name = marker.getName();
            String description = marker.getDescription();
            double latitude = marker.getLatitude();
            double longitude = marker.getLongitude();
            LatLng location = new LatLng(latitude, longitude);
            map.addMarker(new MarkerOptions().title(name).snippet(description).position(location));
        }

        @Override
        public void onChildChanged(DataSnapshot dataSnapshot, String s) {

        }

        @Override
        public void onChildRemoved(DataSnapshot dataSnapshot) {

        }

        @Override
        public void onChildMoved(DataSnapshot dataSnapshot, String s) {

        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
}
}
java
  • 2 个回答
  • 10 Views
Martin Hope
Inkognito
Asked: 2020-05-05 21:07:29 +0000 UTC

从列表中删除项目

  • 1

我得到以下列表:

 private fun collectParentItems(): List<Any> {
    val parentItems = collectParentCategoriesGuids().map { CategoriesListItem(it) }
    return if (parentItems.isEmpty()) emptyList() else parentItems
}

我怎样才能仍然获得整个列表,但仍然从中排除一个(特定的)元素?

android
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5