小编to_*_*sam的帖子

设备旋转后未显示 AutoCompleteTextView 下拉菜单

我有以下 AutoCompleteTextView:

<com.google.android.material.textfield.TextInputLayout
    android:id="@+id/offering_type_dropdown_layout"
    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginEnd="@dimen/date_card_spacing"
    android:layout_marginStart="4dp"
    app:layout_constraintStart_toEndOf="@+id/offering_details_header_image"
    app:layout_constraintEnd_toStartOf="@+id/offering_details_date_layout"
    app:layout_constraintTop_toTopOf="parent"
    android:hint="@string/offering_type_hint">
    <AutoCompleteTextView
        android:id="@+id/offering_details_type_dropdown"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:inputType="textNoSuggestions"
        android:clickable="false"
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:cursorVisible="false"/>
</com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

在我的 Activity 中onCreate,我像这样填充 AutoCompleteTextView:

    String[] TYPES = new String[] {getString(R.string.burnt_offering), getString(R.string.meal_offering), getString(R.string.peace_offering), getString(R.string.sin_offering)};
    ArrayAdapter<String> adapter = new ArrayAdapter<>(OfferingInputActivity.this, R.layout.offering_types_dropdown, TYPES);
    mOfferingTypeCombo.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)

然后我使用 Room 数据库填充视图并预选其中一个值。在 Room 回调中,我执行以下操作:

  mOfferingTypeCombo.setText(getString(R.string.meal_offering)), false);
Run Code Online (Sandbox Code Playgroud)

初始运行时一切正常,下拉菜单显示正确:

在此处输入图片说明

现在我将设备旋转到横向。执行与上面完全相同的代码,但这一次,下拉框仅显示当前选择

在此处输入图片说明

由于某种原因,适配器中的所有其他条目都消失了。setAdapter(null)在我设置适配器之前,我已经尝试过一些技巧,但没有成功。有人能告诉我为什么在旋转后,即使执行了完全相同的代码,下拉列表也缺少条目吗?

android android-textinputlayout material-components-android

8
推荐指数
2
解决办法
762
查看次数

Android Studio中的"工具"菜单中没有Firebase

我想在Android Studio中使用Firebase助手,它应该位于工具菜单中.我使用Android Studio 3.1 for Windows.当我点击工具菜单时,我得到:

在此输入图像描述

没有Firebase菜单.所以我尝试通过Help - > Find Action调用它...当我输入Firebase时,我收到以下错误消息:

java.util.NoSuchElementException
at com.google.common.collect.Iterators$1.next(Iterators.java:81)
at com.google.services.firebase.DependencyStateManager.getDependencyState(DependencyStateManager.java:60)
at com.google.services.firebase.DependencyStateManager.init(DependencyStateManager.java:109)
at com.android.tools.idea.assistant.view.StatefulButton.<init>(StatefulButton.java:122)
at com.android.tools.idea.assistant.view.TutorialStep.<init>(TutorialStep.java:106)
at com.android.tools.idea.assistant.view.TutorialCard.redraw(TutorialCard.java:153)
at com.android.tools.idea.assistant.view.TutorialCard.<init>(TutorialCard.java:90)
at com.android.tools.idea.assistant.view.FeaturesPanel.<init>(FeaturesPanel.java:84)
at com.android.tools.idea.assistant.AssistSidePanel.<init>(AssistSidePanel.java:81)
at com.android.tools.idea.assistant.AssistToolWindowFactory.createToolWindowContent(AssistToolWindowFactory.java:37)
at com.android.tools.idea.assistant.OpenAssistSidePanelAction.lambda$openWindow$0(OpenAssistSidePanelAction.java:59)
at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:315)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:424)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:407)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:822)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:650)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:366)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Run Code Online (Sandbox Code Playgroud)

我还检查过Firebase插件是否已激活.出了什么问题?

android firebase android-studio

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

ConstraintLayout不会对TextView中的长文本进行椭圆化处理

我有一个TextView图像的右侧.我试图在图像旁边放置一些长文本,但是这个文本应该自动结束,最后添加"...".但是,这不起作用.我用这个布局:

<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:layout_marginBottom="8dp"
    android:layout_marginLeft="8dp"
    android:layout_marginRight="8dp"
    android:layout_marginTop="8dp">

<ImageView
    android:id="@+id/file_icon"
    android:layout_width="250px"
    android:layout_height="250px"
    android:layout_gravity="center"
    android:clickable="true"
    android:scaleType="centerInside"
    android:src="@drawable/ic_launcher"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<TextView
    android:id="@+id/file_title"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:ellipsize="end"
    android:maxLines="1"
    android:text="This is a very long title and I hope I have the dots to break it"
    android:textAppearance="@style/TextAppearance.AppCompat.Medium"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintBottom_toTopOf="@+id/file_type"
    app:layout_constraintVertical_chainStyle="packed"
    app:layout_constraintStart_toEndOf="@+id/file_icon"
    app:layout_constraintWidth_default="wrap"/>

<TextView
    android:id="@+id/file_type"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="8dp"
    android:text="Type"
    android:textAppearance="@style/TextAppearance.AppCompat.Small"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/file_title"
    app:layout_constraintLeft_toRightOf="@+id/file_icon" />

<ImageView
    android:id="@+id/file_download"
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:layout_gravity="center"
    android:clickable="true"
    android:scaleType="centerInside"
    android:src="@drawable/ic_action_download"
    app:layout_constraintTop_toBottomOf="@+id/file_title"
    app:layout_constraintRight_toRightOf="parent" />
Run Code Online (Sandbox Code Playgroud)

结果是这样的:

在此输入图像描述

为什么长文本没有椭圆形以至于"..."出现在最后?我已阅读这个这个职位,但它并没有为我工作.有人能帮我一下吗?

android textview android-layout android-constraintlayout

5
推荐指数
2
解决办法
1276
查看次数

Firebase的PDF缩略图生成

我正在开发一个管理PDF的Android应用。我知道Cloudinary允许用户上传PDF并自动为上传的PDF生成缩略图(请参见此处)。Firebase存储Cloud Firestore是否提供类似功能?如果没有,建议使用任何推荐的第三方工具来完成此任务?谢谢!

android firebase google-cloud-firestore

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

仅在JavaFX中TreeTableView的叶子上的复选框

我有一个3级的TreeTableIView。我只想在叶子上显示复选框,而所有其他单元格保持空白。到目前为止,我已经创建了2列:

第一列包含层次结构:

      TreeTableColumn<AttributeRow, String> attributeColumn = new TreeTableColumn<>("Attributes");
        attributeColumn.setPrefWidth(200);
        attributeColumn.setCellValueFactory(
            (TreeTableColumn.CellDataFeatures<AttributeRow, String> param) -> 
                new ReadOnlyStringWrapper(param.getValue().getValue().getAttributeName())
        );
Run Code Online (Sandbox Code Playgroud)

第二列应仅在叶子上包含CheckBoxes:

           TreeTableColumn<AttributeRow, Boolean> companyColumn = new TreeTableColumn<>(companyGroup);
           companyColumn.setPrefWidth(200);
           companyColumn.setCellFactory(CheckBoxTreeTableCell.forTreeTableColumn(companyColumn));
           companyColumn.setCellValueFactory(param -> {
               if (param.getValue().getValue().getCompanyGroups() == null) {
                   return new SimpleBooleanProperty(true);
               } else {                

                   return new SimpleBooleanProperty(false); 
               }
           });
Run Code Online (Sandbox Code Playgroud)

这是我要实现的目标:

在此处输入图片说明

有没有一种方法只能在叶子上显示CheckBoxes,而其他单元格是空的?谢谢!

checkbox javafx

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

Room 数据库中 GROUP BY 语句的返回类型

我想对我的数据库进行以下查询:

SELECT type, COUNT(*) FROM offerings GROUP BY type
Run Code Online (Sandbox Code Playgroud)

此查询适用于 Sqlite 浏览器。现在我想在我的中使用这个查询Dao

@Query("SELECT type, COUNT(*) FROM offerings GROUP BY type")
LiveData<Map<String, Integer>> getOfferingsGroupedByType();
Run Code Online (Sandbox Code Playgroud)

但我收到错误:...不确定如何将游标转换为该方法的返回类型

如何查询包含 2 列的表?--> 即 [type, count(type)] ?

sqlite android

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