小编a_l*_*ody的帖子

如何将布局作为函数参数传递

这可能是一个非常简单的问题,但我仍然坚持这一问题。

我的函数在我的应用程序中被多次调用。我想重构它,但是我不知道如何将findViewByIdas 的值作为参数传递。

请问你知道怎么做吗?


public void configureToolbar() {
        mToolbar = (Toolbar) findViewById(R.id.activitySettingsToolbar);
        mToolbar.setElevation(0);
        mToolbar.setTitle("");

        setSupportActionBar(mToolbar);
    }

Run Code Online (Sandbox Code Playgroud)

编辑:

到目前为止,我可以configureToolbar(Activity activity, Toolbar mToolbar)使用以下结果执行此操作:


public void configureToolbar(Activity activity, Toolbar toolbar) {
       toolbar= (Toolbar) findViewById(R.id.activitySettingsToolbar);
       toolbar.setElevation(0);
       toolbar.setTitle("");

       ((AppCompatActivity)activity).setSupportActionBar(toolbar);
   }

Run Code Online (Sandbox Code Playgroud)

但是,如果我想更改布局,则需要能够将其作为参数传递:/

java android arguments android-layout

4
推荐指数
1
解决办法
93
查看次数

来自Kotlin包的RuntimeException用例

RuntimeException当我注意到有两个选项时,我正在编写一些代码,并打算将默认值抛出:RuntimeException-一个来自java.lang和一个来自kotlin在此处输入图片说明

在kotlin版本的内部,有一系列其他方法的工作原理相同:

在此处输入图片说明

因此,据我了解,from包kotlin中的from 只是Java等效项的别名(如果我输入错,请更正),这导致我想到以下问题:

拥有此别名文件有什么意义,何时应在“标准” Java等效项上使用它?这会节省一些进口吗?

java android kotlin

4
推荐指数
1
解决办法
67
查看次数

我无法在 Android Studio 中输入任何字符

当我尝试编辑代码时,我做不到,文本上有一个“胖”光标,而且当我尝试标记和删除文本时,这是不可能的 A

在此输入图像描述

android android-studio

4
推荐指数
1
解决办法
5367
查看次数

当选择单个图像时 getClipData() 返回 null 当选择多个图像时工作正常

基本上,我需要选择多个图像。当我选择多个图像时,我的代码工作正常,但当我选择单个图像时,它不起作用。

我正在使用此代码来选择图像

public void getPhotoFromGallery(){
    Intent intent = new Intent();
    intent.setType("image/*");
    intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent,"Select Picture"), 1);
}
Run Code Online (Sandbox Code Playgroud)

我的 onActivityResult() 是

super.onActivityResult(requestCode, resultCode, data);
    Log.i("onActivityResult: ", "STARTED");
    if(requestCode == 1 && resultCode == RESULT_OK && data!=null){
        try {
            Log.i("Error: ", String.valueOf(data));
            ClipData mClipData = data.getClipData();
            Log.i("Error: ", String.valueOf(mClipData));
            .....

            .....
        }
        catch (Exception e){
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我选择多个图像时,我的代码工作正常。但是当我选择单个图像时,data.getClipData() 返回 null。我基本上需要所有选定图像的 URI 列表。我不明白这个问题。此外,String.valueof(data) 显示当选择一张图像时存在 URI,但 data.getClipData() 仍返回 null。

android

4
推荐指数
1
解决办法
1119
查看次数

房间数据库保存数据的存储限制是多少?

我有一个带有房间数据库的应用程序。我如何知道已达到数据存储的最大限制?如果应用程序超出该限制会发生什么情况。它会影响已存储的数据还是只是停止添加新数据?

database storage android kotlin android-room

4
推荐指数
1
解决办法
2026
查看次数

是否可以只为单个Activity设置夜间模式

我正在活动的 onCreate 中设置夜间模式。因此,应用程序中的每个活动都会变成夜间模式,并且之前的所有活动都会重新创建。但我只需要该特定活动处于夜间模式,而所有其他活动都处于浅色模式。如何实现这一目标?下面的代码行我在活动的 oncreate 中使用以设置为夜间模式。

AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)

android android-layout

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

如何使用exoplayer一起播放单独的音频和视频?

所以我有两个网址,一个用于音频,一个用于视频。我想一起玩它们,但确实找不到任何有关此的文档。

java android kotlin exoplayer

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

Firebase Auth - 更新用户的电子邮件后,Firebase Auth 注销用户

我在我的应用中使用 Firebase 身份验证。我更新电子邮件如下:

firebaseAuth.currentUser?.updateEmail(email)
Run Code Online (Sandbox Code Playgroud)

电子邮件正在 100% 更新(必要时我也会重新验证)。我的问题是在更改电子邮件后,用户正在注销其帐户,必须再次登录。

当我打电话

val user = firebaseAuth.currentUser 
Run Code Online (Sandbox Code Playgroud)

更新电子邮件后,用户为空,我的应用程序希望您使用新的电子邮件地址再次登录。

这是正确的行为吗?更改帐户电子邮件后必须再次登录,这会导致非常糟糕的用户体验。

kotlin firebase firebase-authentication

2
推荐指数
1
解决办法
976
查看次数

MapBox Android 的缩放控件

我正在尝试为 Mapbox Android 启用缩放控件,但都没有启用 XML

mapbox:mapbox_uiZoomControls="true" 
Run Code Online (Sandbox Code Playgroud)

也不是 Kotlin/Java

mapboxMap.getUiSettings().setZoomControlsEnabled(true)
Run Code Online (Sandbox Code Playgroud)

适用于 SDK 8.6.1 - 两者似乎都已弃用。任何想法如何启用此控件以及它是否可用?

android mapbox mapbox-android

2
推荐指数
1
解决办法
266
查看次数

应用程序安装错误:INSTALL_PARSE_FAILED_MANIFEST_MALFORMED

当我尝试在手机上运行 flutter 应用程序时,出现此错误

Error: ADB exited with exit code 1
Performing Streamed Install

adb: failed to install C:\Users\kavis\OneDrive\Desktop\New 
folder\care_receiver_app\ss_carereceiver_app\build\app\outputs\flutter-apk\app.apk: 
Failure [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED: Failed parse during installPackageLI: 
/data/app/vmdl378681921.tmp/base.apk (at Binary XML file line #26): 
com.owaslo.sukithasagayo.carereceiver.mainActivity: Targeting S+ (version 31 and above) 
requires that an explicit value for android:exported be defined when intent filters are 
present]
Error launching application on Pixel 6.
Run Code Online (Sandbox Code Playgroud)

我在这里阅读了许多其他有关它的问题,但到目前为止我还没有找到解决方案,任何人都可以查看我的清单并告诉我我做错了什么吗?

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.owaslo.sukithasagayo.carereceiver">
<application
    android:label="Sukitha Sagayo"
    android:icon="@mipmap/ic_launcher">
    <activity
        android:name=".MainActivity"
        android:launchMode="singleTop"
        android:theme="@style/LaunchTheme"
        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
        android:hardwareAccelerated="true"
        android:windowSoftInputMode="adjustResize">
        <meta-data
          android:name="io.flutter.embedding.android.NormalTheme"
          android:resource="@style/NormalTheme"
          />
        <meta-data
          android:name="io.flutter.embedding.android.SplashScreenDrawable" …
Run Code Online (Sandbox Code Playgroud)

android android-manifest dart flutter

2
推荐指数
1
解决办法
4101
查看次数