我发现了如何使用预览列表项
tools:listitem="@layout/my_item_layout"
Run Code Online (Sandbox Code Playgroud)
但android studio正在将recyclerview预览为垂直列表.有没有办法告诉Android Studio我会附加一个水平,LinearLayoutManager以便它可以预览水平列表?
我想在Android环境中学习rxjava.假设我有一个可观察到的网络调用结果.如果我理解正确,处理配置更改的一种常见方法是:
将observable存储在保留的片段/单例/应用程序对象中
将缓存运算符应用于observable
订阅/取消订阅适当的生命周期处理程序
这样做,我们不会松开一旦新配置发生后将重新观察到的observable的结果.
现在,我的问题是:
有没有办法强制observable发出一个新值(并使缓存的值无效)?每次我需要来自网络的新数据时,我是否需要创建一个新的observable(这听起来不像Android世界中的坏习惯,因为这会让gc做额外的工作)?
非常感谢,
费德里科
在我的应用程序中,我经常依赖自定义构建视图,例如在以下示例中.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:background="@color/light_grey"
android:layout_height="match_parent"
android:layout_width="fill_parent" >
<TextView
style="@style/CardTitle"
android:id="@+id/card_title"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
/>
<com.whiterabbit.cards.ui.AspectRatioImageView
android:id="@+id/card_picture"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_marginLeft="30dip"
android:layout_marginRight="30dip"
android:src="@drawable/boss"
/>
<ListView
android:id="@+id/card_properties"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
Run Code Online (Sandbox Code Playgroud)
问题是,我不知道如果在真实设备或模拟器上运行它之前它是如何正确显示的.此外,如果我发现错误,我将不得不对其进行更改并再次部署应用程序以查看更改是否按预期工作.
这可能是一个漫长而枯燥的过程,特别是如果应用程序需要一些交互来访问您要检查的活动.
使用可视化编辑器不起作用,因为它无法加载自定义视图.
是否有另一种方法可以检查视图的显示方式而无需在整个应用程序中运行?
我正在使用android兼容库,我使用非实体背景的listfragments有一些问题.问题与此链接中描述的相同,但在this.listView()上调用setCacheColorHint没有任何效果.有没有人知道发生了什么?
<fragment class="com.mypackage.MyFragment"
android:id="@+id/my_fragment"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
Run Code Online (Sandbox Code Playgroud)
在片段类中,恰好是ListFragment,我有
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
getListView().setCacheColorHint(android.R.color.transparent);
super.onViewCreated(view, savedInstanceState);
}
Run Code Online (Sandbox Code Playgroud)
谢谢,