小编Est*_*ban的帖子

ConstraintLayout在textview中切断文本

我有一ConstraintLayout对夫妇的意见,由于某种原因,我textview在句子结束时被切断了.它textview被限制在左侧和顶部.是的tv_product_description textview.

<android.support.constraint.ConstraintLayout
    android:id="@+id/ll_product_holder"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="16dp"
    android:layout_marginRight="16dp"
    android:layout_marginTop="16dp"
    android:background="@drawable/drawable_border"
    android:orientation="vertical">

    <com.facebook.drawee.view.SimpleDraweeView
        android:id="@+id/iv_product_image"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_marginBottom="8dp"
        android:layout_marginLeft="9dp"
        android:layout_marginStart="9dp"
        android:layout_marginTop="13dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/price_holder"
        fresco:actualImageScaleType="centerCrop"
        fresco:placeholderImage="@drawable/placeholder2"/>

    <TextView
        android:id="@+id/tv_product_id"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="9dp"
        android:layout_marginStart="9dp"
        android:layout_marginTop="13dp"
        android:text="@{historyItem.productId}"
        app:layout_constraintLeft_toRightOf="@+id/iv_product_image"
        app:layout_constraintTop_toBottomOf="@+id/price_holder"/>

    <TextView
        android:id="@+id/tv_product_description"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="9dp"
        android:layout_marginStart="9dp"
        android:ellipsize="end"
        android:maxLines="2"
        android:text="@{historyItem.productDescription}"
        app:layout_constraintLeft_toRightOf="@+id/iv_product_image"
        app:layout_constraintTop_toBottomOf="@+id/tv_product_id"/>

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

在这里你可以看到textview被切断了.

xml android android-constraintlayout

9
推荐指数
2
解决办法
4569
查看次数

当我上传到服务器时相机图像会旋转

我要么拍照,要么从图库中选择一张照片,然后按应有的方式在 ImageView 中显示它(就旋转而言)。但是,每当我将其上传到服务器时,它总是以横向模式上传,即使它在我的画廊中处于纵向模式。我该如何解决这个问题?

private void takePhoto() {
    Intent takePhoto = new Intent();
    takePhoto.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
    File photoFile = null;
    try {
        photoFile = imagePath();
    } catch (IOException e) {
        Log.d(TAG, "Take Photo: " + e.getMessage());
    }
    takePhoto.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
    startActivityForResult(takePhoto, REQUEST_IMAGE);
}

private File imagePath() throws IOException {
    String timeStamp = new java.text.SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(new Date());
    String imageFileName = "IMAGE_" + timeStamp + "_";
    File storageDirectory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
    File image = File.createTempFile(imageFileName, ".jpg", storageDirectory);
    mImageLocation = image.getAbsolutePath();
    return image;
}

private void uploadMultipart() { …
Run Code Online (Sandbox Code Playgroud)

android multipartform-data image-rotation

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

Eventbus事件永远不会到达片段

我有一个片段A,只需点击一个按钮就会启动片段B,其中包含一个RecyclerView.在片段B中,单击一个项目EventBus时,该值需要传递给片段A.但是,由于某种原因,该值永远不会到达片段A.

片段A.

    public class OrderSummaryFragment extends BaseFragment implements OrderSummaryView {
    private static final String ARG_PARAM1 = "param1";
    public static final String ACTION_BACK = OrderSummaryFragment.class.getName() + ".back";
    public static final String ACTION_HIDE_ACTION_BAR = OrderSummaryFragment.class.getName() + ".hide_action_bar";
    public static final String ACTION_SHOW_ACTION_BAR = OrderSummaryFragment.class.getName() + ".show_action_bar";
    public static final String ACTION_CHANGE_ADDRESS = OrderSummaryFragment.class.getName() + ".select_address";

    FragmentOrderSummaryBinding mBinder;
    Shop mShop;
    OrderSummaryPresenter mPresenter;

    public OrderSummaryFragment() {

    }

    public static OrderSummaryFragment newInstance(Shop shop) {
        OrderSummaryFragment fragment = new OrderSummaryFragment();
        Bundle args …
Run Code Online (Sandbox Code Playgroud)

android android-fragments greenrobot-eventbus

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

会议室数据库插入或更新但保留数据库字段?

我试图实现以下场景 - >记录从API获取并存储到DB中.有些记录可能会被点击favorite,即使从API获取新数据,它们仍应保持这样.但是,我似乎找不到如何在不替换favorite整行的情况下替换那些已经被选中的记录的方法.我已经尝试逐个插入记录,并以某种方式在插入检查是否已经存在记录,但我似乎无法用RxJava来解决它.

Dao

    @Dao
    interface KafanaDao {

    @Insert
    fun insertSingleKafana(kafana: Kafana)

    @Insert(onConflict = OnConflictStrategy.REPLACE)
    fun insertAll(kafani: List<Kafana>)

    @Query("SELECT * FROM ${Constants.KAFANI_TABLE_NAME}")
    fun getKafani(): Single<List<Kafana>>

    @Query("SELECT * FROM ${Constants.KAFANI_TABLE_NAME} WHERE name = :name")
    fun getSingleKafana(name: String): Single<Kafana>

    @Query("UPDATE ${Constants.KAFANI_TABLE_NAME} SET isFavorite = :isFavorite WHERE name = :name")
    fun setFavourite(name: String, isFavorite: Int)
}
Run Code Online (Sandbox Code Playgroud)

然后我一个接一个地插入记录,但是如何检查它们是否已经存储在数据库中?

fun insertSingleKafanaInDb(kafana: Kafana) {
    Observable.fromCallable { kafanaDao.insertSingleKafana(kafana) }
            .subscribeOn(Schedulers.io())
            .subscribe {
                Timber.d("Inserted ${kafana.name} kafani from API in DB...")
            }
}

fun getKafaniFromApi(): …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-room

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

链接多个调用RxJava,Room和Retrofit

我正在使用RxJava/Kotlin和Room and Retrofit.我确信我刚开始学习RxJava时没有写东西.方案是我打电话检查数据库中是否有喜欢的记录并将它们放入List中,从API获取数据并将其插入数据库,使用上一个收藏夹列表更新数据库并获取所有记录,现在更新,列表.我得到了我的片段中的结果,但每次我得到它就好像我得到1个不太喜欢的项目,直到我得到没有喜欢的项目.

Repository

fun getKafaniFromApi(): Observable<List<Kafana>> {
    return apiService.getKafani().toObservable().doOnNext {
        insertKafaniInDb(it)
    }
}

fun getKafaniFromDb(): Observable<List<Kafana>> {
    return kafanaDao.getKafani().toObservable()
}

fun insertKafaniInDb(kafani: List<Kafana>) {
    Observable.fromCallable { kafanaDao.insertAll(kafani) }
            .subscribeOn(Schedulers.io())
            .subscribe {
                Timber.d("Inserted ${kafani.size} kafani from API in DB...")
            }
}

fun getFavoriteKafani(): Single<List<Kafana>> {
    return kafanaDao.getFavoriteKafani()
}

fun setKafanaFavorite(kafana: Kafana, isFavorite: Int) {
    return kafanaDao.setFavourite(kafana.name, isFavorite)
}

fun updateFavoriteKafana(kafana: Kafana) {
    return kafanaDao.updateFavoriteKafana(kafana)
}
Run Code Online (Sandbox Code Playgroud)

在我的 viewmodel

fun get(): Observable<List<Kafana>> {
    return kafanaRepository.getFavoriteKafani()
            .toObservable()
            .doOnNext { kafaniList = it } …
Run Code Online (Sandbox Code Playgroud)

android rx-kotlin retrofit2 rx-java2 android-room

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