小编ale*_*sov的帖子

Kotlin的吸气剂和二传手

例如,在Java中,我可以自己编写getter(由IDE生成)或者在lombok中使用@Getter之类的注释 - 这非常简单.

然而,Kotlin 默认拥有getter和setter.但我无法理解如何使用它们.

我想说,就像Java一样:

private val isEmpty: String
        get() = this.toString() //making this thing public rises an error: Getter visibility must be the same as property visibility.
Run Code Online (Sandbox Code Playgroud)

那么吸气剂如何工作?

getter-setter kotlin

59
推荐指数
6
解决办法
5万
查看次数

%3F而不是我的Retrofit网址中的问号

我正在尝试将图片发送到服务器.我的网址包含有关手机的一些参数:

api/v2/user/email_register%3F_height=1184&_target=android/2&_width=768 
Run Code Online (Sandbox Code Playgroud)

这是工作变体:

api/v2/user/email_register?_height=1184&_target=android/2&_width=768
Run Code Online (Sandbox Code Playgroud)

(没有刺激%3?代码)

另外,我试图在@Body中传递我的照片:

@POST("/{url}")
Observable<UpdateUserInfoPayload> register(
        @Header("x-device-id") String deviceId,
        @Body RequestBody requestBody,
        @Path(value = "url", encoded = true) String  method
);
Run Code Online (Sandbox Code Playgroud)

使用MultipartBuilder创建它:

protected RequestBody buildAvatar(String avatarPath) {


 MultipartBuilder builder = new MultipartBuilder()
  .type(MultipartBuilder.FORM)
  .addFormDataPart(ParkApiUrl.PARAM_USER_NAME, name.getText().toString())
  .addFormDataPart(ParkApiUrl.PARAM_USER_SECOND_NAME, lastName.getText().toString())
  .addFormDataPart(ParkApiUrl.PARAM_EMAIL, email.getText().toString())
  .addFormDataPart(ParkApiUrl.PARAM_USER_ENCODED_PASSWORD,
   PasswordUtils.encodePassword(encodePassword()))
  .addFormDataPart(ParkApiUrl.PARAM_USER_GENDER,
   male.isChecked() ? EmailProfile.GENDER_MALE : EmailProfile.GENDER_FEMALE)
  .addFormDataPart(ParkApiUrl.PARAM_PARSE_ID,
   ParseInstallation.getCurrentInstallation().getObjectId());


 File file = new File(avatarPath);;
 int size = (int) file.length();
 byte[] bytes = new byte[size];
 try {
  BufferedInputStream buf = new BufferedInputStream(new FileInputStream(file));
  buf.read(bytes, 0, bytes.length);
  buf.close();
  builder.addFormDataPart("photo", …
Run Code Online (Sandbox Code Playgroud)

android retrofit2

14
推荐指数
1
解决办法
3026
查看次数

windowMinWidthMajor和android:windowMinWidthMajor有什么区别

我想为ProgressDialog设置一个合适的样式.我喜欢默认的,但我想自定义它.我试过使用AppCompat对话框,但它们都为我的Dialog设置了一些奇怪的宽度和高度.

我发现从MaterialDialog扩展可以解决这个问题,所以这段代码可以工作:

<style name="ProgressDialogTheme" parent="MaterialBaseTheme.AlertDialog" >
</style>
Run Code Online (Sandbox Code Playgroud)

这是因为MeterialDialog本身设置了自定义宽度

<style name="MaterialBaseTheme.AlertDialog" parent="MaterialBaseTheme.Dialog">
        <item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item>
        <item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_minor</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

我发现AppCompat对话框设置了相同的自定义宽度,这里是:

<style name="Base.Theme.AppCompat.Light.Dialog.Alert">
        <item name="windowMinWidthMajor">@dimen/abc_dialog_min_width_major</item>
        <item name="windowMinWidthMinor">@dimen/abc_dialog_min_width_minor</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

但它不起作用

唯一的区别是MeterialDialog属性开头的andorid命名空间.

有人可以解释为什么android:windowMinWidthMajor 这个伎俩?

android

7
推荐指数
2
解决办法
3768
查看次数

如何实现recyclerView(cardView)可扩展项目?

我想在不使用任何第三个pary库的情况下实现这样的东西.我发现只有这个链接:

http://cjainewbw.blogspot.ru/2015/08/android-recyclerview-multi-selection.html

但我很好奇是否有其他(也许是本地方式)来实现这样的行为?

在此输入图像描述

https://www.google.com/design/spec/components/cards.html#cards-behavior 链接

android

6
推荐指数
0
解决办法
877
查看次数

onCreate在抽象的父活动中没有在kotlin中调用

我的活动是MapActivity的孩子.

class RecordingActivity : MapActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        Log.d("RecirdingActivity", "InitializeMap") //called
    }

    override fun getView(): Int {
        return R.layout.activity_recording
    }
}
Run Code Online (Sandbox Code Playgroud)

我从我的主要活动中调用此活动:

fab.setOnClickListener {
            Log.d("MainActivity", "fabClick") //called
            startActivity(intentFor<RecordingActivity>())
        }
Run Code Online (Sandbox Code Playgroud)

我有抽象的活动:

abstract class MapActivity: AppCompatActivity(), OnMapReadyCallback {

    override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) {
        super.onCreate(savedInstanceState, persistentState)
        setContentView(getView())
        initializeMap()
        Log.d("MapActivity", "InitializeMap")//not called
    }
}
Run Code Online (Sandbox Code Playgroud)

本次活动的onCreate方法永远不会被调用

我用调试器跟踪它,我得到了相同的结果.我做错了什么?

android kotlin

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

将视图移出约束布局

我要剪裁的图像

我想移动我的位置,ImageView这样它会距离ConstraintLayout(父对象)一半。LinearLayout

我所拥有的是图像,应该按照图片上的说明进行裁剪,因此图像的仅按钮侧应显示在实际设备上。其他部分应切除。

这是我的布局的一部分。

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <ImageView
        android:layout_width="71dp"
        android:layout_height="71dp"
        android:src="@drawable/someImage"
        app:layout_constraintTop_toTopOf="parent"/>

</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

那么,有什么好办法吗?

xml android android-constraintlayout

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