我正在尝试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 项目让我们说 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”] …
当我们开始如下服务:
Intent in = new Intent();
in.setAction("com.android.myAction");
startService(in);
Run Code Online (Sandbox Code Playgroud)
它给出了一个错误:Service Intent必须是显式的.
为什么会如此.为什么android要求服务意图是明确的?
我正在使用库"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吗?
我正在使用以下意图发送支持邮件:
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 内容的末尾。我希望光标位于此内容的开头。我可以以某种方式指定这个吗???
作为输入,我有一个字符串,它是 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实例中选择时区吗?
我有一个要求,我有一个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)
有人可以帮助我做错了吗?我希望不同的碎片有不同的行为.
我在我的应用程序中使用了几个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"使它看起来像:
因阴影而寻找透明的圆圈.在这里,我无法摆脱阴影,但我希望阴影在图像周围.
我在使用旧API版本时遇到了一些问题。某些网站的某些链接没有响应,因为它们具有必须启用第三方cookie才能进行webview的前提。我对主题进行了一些搜索,发现了一个API:
CookieManager.getInstance()。acceptThirdPartyCookies();
它可以解决我的问题并启用第三方Cookie,但最低API级别为21。我需要支持较低的API级别(低至15)。有什么方法可以在较低的API中执行相同的操作。
[请注意API:CookieManager.getInstance()。setAcceptCookie(true); 是用于启用cookie而不是第三方cookie,因此它不起作用... :-(]
我有一个类的声明如下:
class NetworkManagerImpl : NetworkManager { }
Run Code Online (Sandbox Code Playgroud)
我想让类保护,以便它只在包内可见.但是当我在课堂前添加受保护时:
protected class NetworkManagerImpl : NetworkManager { }
Run Code Online (Sandbox Code Playgroud)
它给出了错误,因为Modifier protected不适用于file
如何解决此错误或更重要的是如何使整个类(顶级)受到保护?
我正在使用 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 字符串,即使有空值。有办法实现吗?