例如,在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)
那么吸气剂如何工作?
我正在尝试将图片发送到服务器.我的网址包含有关手机的一些参数:
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) 我想为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
这个伎俩?
我想在不使用任何第三个pary库的情况下实现这样的东西.我发现只有这个链接:
http://cjainewbw.blogspot.ru/2015/08/android-recyclerview-multi-selection.html
但我很好奇是否有其他(也许是本地方式)来实现这样的行为?
https://www.google.com/design/spec/components/cards.html#cards-behavior 链接
我的活动是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方法永远不会被调用
我用调试器跟踪它,我得到了相同的结果.我做错了什么?
我想移动我的位置,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)
那么,有什么好办法吗?