小编Tar*_*run的帖子

@RawValue注释不适用于目标值参数

我正在尝试Parcelize数据类.它包含一个参数:

var tokenType: Any? = null
Run Code Online (Sandbox Code Playgroud)

对于这个变量编译器在编译时抱怨:

Type is not directoly supported by Parcelize. 
Annotate the parater with @RawValue if you want it to be serialized via 
writeValue()
Run Code Online (Sandbox Code Playgroud)

虽然错误是自我解释的,但当我添加@RawValue时:

@RawValue var tokenType: Any? = null
Run Code Online (Sandbox Code Playgroud)

它给出了一个错误:

This annotation is not applicable to target value parameter
Run Code Online (Sandbox Code Playgroud)

有关如何处理此问题的任何提示?

android kotlin

8
推荐指数
1
解决办法
3400
查看次数

从 JAR/Lib 启动 Activity

我想创建和 android 项目让我们说 MyApplication。

MyApplication 有一个活动 MyActivity.java。

我想要一些其他应用程序让我们说 NotMyApplication 来启动此活动,而无需在设备上安装 MyApplication。

我想为这个场景做的是我想以某种方式将 MyApplication 转换为 jar/lib,这样我就不需要安装也不需要共享代码。

并在 NotMyApplication 中导入 MyActivity.java 并创建一个如下所示的意图:

**Intent in = new Intent(MyActivity.class,NotMyActivity.this);
startActivity(in);**
Run Code Online (Sandbox Code Playgroud)

我怎样才能完成整个过程。有人可以指导 Stepwise for android studio 吗??

[编辑]

我在 Eclipse 中创建了 Jar 文件,然后将其复制到 android studio 中的 libs 文件夹中。比在 gradle 中添加 complie 语句:将 jar 导入为:

导入 com.example.testmylibs.MyClassToTest;

比发起的活动为:

Intent in = new Intent(getApplicationContext(),com.example.testmylibs.MyClassToTest.class); 开始活动(在);

它仍然给 FATAL 为:

android.content.ActivityNotFoundException:无法找到显式活动类 {com.myapplication/com.example.testmylibs.MyClassToTest};您是否在 AndroidManifest.xml 中声明了此活动?

[编辑]

如果我在 NotMyApplication 的 AndroidManifest.xml 中本地声明为:

    **<activity android:name="com.example.testmylibs.MyClassToTest" >
    </activity>**
    
    
Run Code Online (Sandbox Code Playgroud)

比以下异常来了:

java.lang.NoClassDefFoundError:解析失败:Lcom/example/testmylibs/R$layout;. . 引起:java.lang.ClassNotFoundException:在路径上找不到类“com.example.testmylibs.R$layout”:DexPathList[[zip file“/data/app/com.myapplication-2/base.apk”] …

java android android-activity android-studio

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

为什么服务意图需要明确的意图

当我们开始如下服务:

Intent in = new Intent();
in.setAction("com.android.myAction");
startService(in);
Run Code Online (Sandbox Code Playgroud)

它给出了一个错误:Service Intent必须是显式的.

为什么会如此.为什么android要求服务意图是明确的?

android android-intent android-fragments

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

在生成的iText PDF文档中居中对齐图像

我正在使用库"com.itextpdf:itextg"来生成PDF文件.我的要求是以A4格式将图像添加到PDF文件,每页一张图像.

ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
Image image = Image.getInstance(stream.toByteArray());
image.scaleToFit(PageSize.A4);
document.add(image);
Run Code Online (Sandbox Code Playgroud)

默认情况下,图像将添加为顶部对齐,并且PDF文档页面底部的某些空间处于空白状态.

我想中心对齐图像,以便从所有边留下相等的空间,图像放在中心.

我知道我们有一个方法setAbsolutePosition,但它需要absoluteX和absoluteY.我需要一些像CENTRE_HORIZONTAL和CENTRE_VERTICAL这样的亲戚.有人可以帮助生成中心对齐(垂直和水平)图像的PDF吗?

android itext

6
推荐指数
2
解决办法
4103
查看次数

光标应位于电子邮件意图内容的开头

我正在使用以下意图发送支持邮件:

Intent emailIntent = new Intent(Intent.ACTION_SENDTO);
emailIntent.setData(Uri.parse("mailto: support@abc.in"));
emailIntent.putExtra(Intent.EXTRA_SUBJECT,"Feedback for ABC Android " + Utils.getAppVersionName());
emailIntent.putExtra(Intent.EXTRA_TEXT, "\n\nBelow information is" +
        "App Version - " + Utils.getAppVersionName() + "\n" +
        "OS Version - " + Build.VERSION.RELEASE + "\n" +
        "API Level - " + Build.VERSION.SDK_INT + "\n" +
        "Device Model - " + android.os.Build.MODEL + "\n" +
        "Device Manufacturer - " + Build.MANUFACTURER);
context.startActivity(Intent.createChooser(emailIntent, "Send through..."));
Run Code Online (Sandbox Code Playgroud)

它工作正常并打开电子邮件选择器。但光标出现在 EXTRA_TEXT 内容的末尾。我希望光标位于此内容的开头。我可以以某种方式指定这个吗???

android textview

5
推荐指数
1
解决办法
819
查看次数

如何从 ISO 8601 格式字符串中选择时区到日历实例中

作为输入,我有一个字符串,它是 ISO 8601 中的字符串,用于表示日期。例如:

“2017-04-04T09:00:00-08:00”

String的最后一部分“-08:00”表示时区偏移。我将此字符串转换为Calendar实例,如下所示:

Calendar calendar = GregorianCalendar.getInstance();
Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US).parse(iso8601Date);
calendar.setTime(date);
Run Code Online (Sandbox Code Playgroud)

iso8601日期为“2017-04-04T09:00:00-08:00”

但这不会选择时区,如果我从Calendar实例获取时区,它会给出笔记本电脑当前设置的实例,并且不会从 ISO 8601 字符串中获取时间戳。我通过日历实例检查时区:

calendar.getTimeZone().getDisplayName()
Run Code Online (Sandbox Code Playgroud)

有人可以展示如何在Calendar实例中选择时区吗?

java android date datetime-parsing java.util.calendar

5
推荐指数
1
解决办法
3432
查看次数

如何从Fragments以编程方式设置windowsoftinputmode?

我有一个要求,我有一个MainActivity.从这个活动我实例化4个片段(让我们说FragmentA,FragmentB,FragmentC,FragmentD.

这四个片段中的一个; 在3个碎片上(我们说FragmentA,FragmentB,FragmentC),我想设置MainActivity的windowsoftinputmode(),SOFT_INPUT_ADJUST_PAN以便窗口可以调整大小.

在一个Fragment()上让我们说FragmentD),我想将MainActivity的windowsoftinputmode()设置为SOFT_INPUT_ADJUST_NOTHING.

所以我所做的是,在每个Fragment的onViewCreated()方法上,我使用更改LayoutParams标志执行以下代码行:

((MainActivity)getActivity()).getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
Run Code Online (Sandbox Code Playgroud)

要么

((MainActivity)getActivity()).getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
Run Code Online (Sandbox Code Playgroud)

问题是它无法工作,我无法正确设置软件输入,我无法阻止窗口调整大小.

当我在MainActivity的onCreate()中执行它们时,相同的代码行完美地工作,如下所示:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
Run Code Online (Sandbox Code Playgroud)

但是为所有四个片段设置了值.清单中的MainActivity声明是:

<activity
    android:name="com.test.MainActivity"
    android:launchMode="singleTask"
    android:screenOrientation="portrait"/>
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我做错了吗?我希望不同的碎片有不同的行为.

android ime android-softkeyboard android-edittext

4
推荐指数
2
解决办法
5253
查看次数

从FloatingActionButton中删除背景颜色

我在我的应用程序中使用了几个FloatingActionButton:

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/loc_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_marginBottom="123dp"
        android:layout_marginEnd="@dimen/mini_fab_margin"
        android:src="@drawable/plus"
        app:backgroundTint="@android:color/black"
        app:elevation="2dp"
        app:fabSize="mini"/>
Run Code Online (Sandbox Code Playgroud)

其中plus.png是带有透明背景的小图片.

我知道FloatingActionButton默认在colors.xml中选择你的应用程序集的colorPrimary

我知道我们可以通过标签更改颜色:

    app:backgroundTint="@android:color/black"
Run Code Online (Sandbox Code Playgroud)

但我们可以删除颜色吗?我的意思是我们可以在FloatingActionButton中使用背景颜色的图像,

我试过用

    app:backgroundTint="@android:color/transparent"
Run Code Online (Sandbox Code Playgroud)

但它仍然在图像周围显示黑色阴影.我们如何删除它并显示没有任何背景的图像.?

这是app:backgroundTint ="@ android:color/transparent"和style:style ="?android:attr/borderlessButtonStyle"使它看起来像:

因阴影而寻找透明圆圈

因阴影而寻找透明的圆圈.在这里,我无法摆脱阴影,但我希望阴影在图像周围.

android floating-action-button

4
推荐指数
2
解决办法
3749
查看次数

为Android WebView启用第三方Cookie

我在使用旧API版本时遇到了一些问题。某些网站的某些链接没有响应,因为它们具有必须启用第三方cookie才能进行webview的前提。我对主题进行了一些搜索,发现了一个API:

CookieManager.getInstance()。acceptThirdPartyCookies();

它可以解决我的问题并启用第三方Cookie,但最低API级别为21。我需要支持较低的API级别(低至15)。有什么方法可以在较低的API中执行相同的操作。

[请注意API:CookieManager.getInstance()。setAcceptCookie(true); 是用于启用cookie而不是第三方cookie,因此它不起作用... :-(]

cookies android webview android-webview

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

修饰符`protected`不适用于Kotlin中的`file`错误

我有一个类的声明如下:

class NetworkManagerImpl : NetworkManager { }
Run Code Online (Sandbox Code Playgroud)

我想让类保护,以便它只在包内可见.但是当我在课堂前添加受保护时:

protected class NetworkManagerImpl : NetworkManager { }
Run Code Online (Sandbox Code Playgroud)

它给出了错误,因为Modifier protected不适用于file 如何解决此错误或更重要的是如何使整个类(顶级)受到保护?

kotlin

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

当我们在 org.json.JSONObject 上调用 toString() 时,具有 null 值的键将从 org.json.JSONObject 中删除

我正在使用 org.json.JSONObject 创建一个 json 对象并在其中存储以下值:

    val chkStatusJson = JSONObject()
    chkStatusJson.put("code",0)
    chkStatusJson.put("message",null)
Run Code Online (Sandbox Code Playgroud)

当我对 chkStatusJson 执行 toString() 时,会生成以下字符串:

{"code":0}
Run Code Online (Sandbox Code Playgroud)

这是错误的对。它应该如下:

{"code":0,"message":null}
Run Code Online (Sandbox Code Playgroud)

问题是我需要完整的 json 字符串,即使有空值。有办法实现吗?

android json

0
推荐指数
1
解决办法
377
查看次数