小编A. *_*gen的帖子

带有Formatter的Android NumberPicker在首次渲染时不会格式化

我有一个NumberPicker,它有一个格式化程序,可以在NumberPicker旋转或手动输入值时格式化显示的数字.这工作正常,但是当第一次显示NumberPicker并且我用setValue(0)0 初始化它时没有被格式化(它应该显示为" - "而不是0).一旦我从那一点旋转NumberPicker一切正常.

如何强制NumberPicker始终格式化 - 在第一次渲染时以及在使用键盘手动输入数字时?

这是我的格式化程序

public class PickerFormatter implements Formatter {

 private String mSingle;
 private String mMultiple;

 public PickerFormatter(String single, String multiple) {
    mSingle = single;
    mMultiple = multiple;
 }

 @Override
 public String format(int num) {
    if (num == 0) {
        return "-";
    }
    if (num == 1) {
        return num + " " + mSingle;
    }
    return num + " " + mMultiple;
 }

}
Run Code Online (Sandbox Code Playgroud)

我将格式化程序添加到选择器中setFormatter(),这是我对拾取器所做的全部操作.

    picker.setMaxValue(max);
    picker.setMinValue(min);
    picker.setFormatter(new PickerFormatter(single, multiple));
    picker.setWrapSelectorWheel(wrap);
Run Code Online (Sandbox Code Playgroud)

android formatter numberpicker android-number-picker

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

从realm.io中删除项目怎么了?RealmException"不支持删除对象."?

我试图根据查询从Realm.io数据库中删除最后一个Object,如下所示:

    Realm realm = Realm.getInstance(this);
    final RealmResults<RealmCustomLocation> databaseLocations = realm.where(RealmCustomLocation.class).findAllSorted("timeStamp", RealmResults.SORT_ORDER_DESCENDING);
    if(databaseLocations.size() >= 4){
        realm.beginTransaction();
        databaseLocations.removeLast();
        realm.commitTransaction();
    }
Run Code Online (Sandbox Code Playgroud)

这与Realm.io中有关删除的说明完全相同:

realm.beginTransaction();
result.removeLast();
realm.commitTransaction()
Run Code Online (Sandbox Code Playgroud)

但是当我执行代码时,它总是以RealmException中断

io.realm.exceptions.RealmException: Removing object is not supported.
Run Code Online (Sandbox Code Playgroud)

然后我查看了RealmResults.java的源代码,我发现了这个: 在此输入图像描述 所以难怪它一直崩溃,removeLast()什么都不做,只抛出一个错误!

所以我的问题是:如何从数据库中删除对象呢?!

我在Android上使用realm.io 0.77(编译'io.realm:realm-android:0.77.0').

感谢您对此的帮助!

database android realm

10
推荐指数
1
解决办法
6459
查看次数

你如何使用加载占位符作为动画微调器与像Glide,毕加索等图像加载器?

我正在尝试插入一个通用加载圈作为占位符,同时图像正在加载像Glide或Picasso这样的图像加载器库.

我不能为我的生活找到你应该如何从xml创建一个旋转drawable.

我尝试通过创建动画列表在XML中使用AnimationDrawable,但它甚至没有显示(甚至不是静态的).

我只想要一个简单的圆圈,它可以自动旋转,所有这些都在xml drawable中,所以我可以将id作为占位符传递给我的图像加载器.如果那不可能请现在告诉我,所以我可以节省很多研究:)

编辑:一些代码使它更清晰,我需要一个旋转drawable这个Glide命令:

Glide.with(context)
.load(imageUrl)
.into(imageView)
.placeHolder(R.drawable.spinning_loading_placeholder);
Run Code Online (Sandbox Code Playgroud)

在加载图像时,将显示占位符drawable,稍后将显示图像.我需要一个能够自行旋转的抽屉.

animation android spinner drawable android-glide

9
推荐指数
1
解决办法
6461
查看次数

DBFlow选择列表中的COLUMN?

我正在尝试在列表中查询具有主键的所有模型的数据库.这是我的查询(idsList是一个包含整数的ArrayList):

new Select().from(PostModel.class)
    .where(Condition.column(PostModel$Table.ID).in(0, idsList))
    .async().queryList(listener);
Run Code Online (Sandbox Code Playgroud)

但Android Studio突出了其中的条件

"Cannot resolve method 'where(com.raizlabs.android.dbflow.sql.builder.Condition.In)"
Run Code Online (Sandbox Code Playgroud)

那么条件.在不被视为条件?如何在ArrayList中使用primaryKey查询所有模型?

我正在使用DBFlow 2.0.我也可以使用常规SQL查询字符串作为替代,但我不熟悉SQL,所以如果你可以为我的问题提供SQL查询字符串,那将是一种可能的解决方法.

sql database android dbflow

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

最新Android支持库上的Vertical Viewpager会出现错误

我正在使用Jake WhartonVerticalViewpager,但它为最新的Android支持库提供了错误:

package android.support.v4.view;

public final class VerticalViewPagerCompat {
private VerticalViewPagerCompat() {}

  public interface DataSetObserver extends PagerAdapter.DataSetObserver {}

  public static void setDataSetObserver(PagerAdapter adapter, DataSetObserver observer) {
    adapter.setDataSetObserver(observer);
  }
}
Run Code Online (Sandbox Code Playgroud)

错误是"PagerAdapter.DataSetObserver无法解析为类型".最新的支持库已经改变了DataSetObserver的行为,并且Vertical Viewpager不再起作用.有谁知道如何解决这个问题?

android android-viewpager swipeview android-support-library

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

创建Android中所有活动均可访问的对象

我正在尝试创建一个包含对象的数据的ArrayList(就像一个地址和属性列表(相当复杂))并且我想知道:我如何让所有活动都可以访问(和编辑)对象,而不仅仅是它在inst?

基本上这个:

  1. 在活动1中创建数组
  2. 在活动2和3中访问相同的数组
  3. ???
  4. 利润.

android

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

从Android Studio 0.54更新到0.81"NoSuchMethodError"后,Gradle不会同步

我通过将旧文件替换为您可以从Google网站下载的文件来手动更新我的Android Studio,因为无法自动更新.在升级之前,我的Android Studio是版本0.54我相信,升级后它是0.81.

首次启动时,我收到了一个gradle同步错误:

NoSuchMethodError: Failed to set up Android modules in project '(my app)': com.android.builder.model.Dependencies.getJavaLibraries()Ljava/util/Collection;
Run Code Online (Sandbox Code Playgroud)

从升级之前我的gradle文件同步很好,我不相信我的gradle配置是错误的.

这里发生了什么?

nosuchmethoderror gradle android-studio

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

当搜索栏更改尺寸时,Google地图for Android v2上的圆圈会闪烁

我正在实现一种方法,在Android中使用此方法在Google Map(v2)上显示搜索半径:

// Method for drawing a circle around the user
private void drawMapSearchRadius(int radius) {
    if(mMap != null) {
        final LatLng userLatLng = getUserLatLng();
        if(mSearchCircle == null){
            CircleOptions circleOptions = new CircleOptions();
            circleOptions.fillColor(Color.parseColor("#447755ff"));
            circleOptions.strokeColor(Color.TRANSPARENT);
            circleOptions.center(userLatLng);
            circleOptions.radius(radius);
            mSearchCircle = mMap.addCircle(circleOptions);
        } else {
            mSearchCircle.setCenter(userLatLng);
            mSearchCircle.setRadius(radius);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

半径是用SeekBar确定的,就像这样(我删除了一些不相关的代码):

@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
    final int radius = progress + DEFAULT_MIN_RADIUS;
    drawMapSearchRadius(radius);
...
Run Code Online (Sandbox Code Playgroud)

当我滑动SeekBar时,圆的半径会按预期变化,但它会明显闪烁很多.它的外观和感觉非常糟糕.

有没有人遇到过这个错误,可以告诉我我做错了什么或者我能做些什么来限制,或者在最好的情况下,消除圆圈闪烁?

提前致谢

编辑:显然这是一个存在超过一年的错误,谷歌上个月承认.

由于谷歌不是很快就能修复这样的错误,所以我没有希望解决这个问题.所以我想我的问题正在改变:有什么办法可以解决这个问题吗?

geometry android google-maps shape

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

如何使用自定义 JsonDeserializer 调试 Retrofit CONVERSION 错误?

我检查了服务器的响应,它反序列化为 Map 没有问题。

一旦我附加了我的反序列化器 Retrofit 就会返回一个带有类型转换的 RetrofitError,但是即使我将 Retrofit 日志记录级别设置为 LogLevel.FULL,也不会抛出其他异常。

如何调试我的自定义解串器以检查错误来自哪里?

——

我从 wordpress 博客中获取 json 并用它反序列化

public ArrayList<Post> deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
    Log.d("WayTrace", "Starting Parsing " + json);
    final JsonObject jsonObject = json.getAsJsonObject();
    Log.d("WayTrace", "JSONObject " + jsonObject);
    final JsonArray posts = jsonObject.get("posts").getAsJsonArray();
    Log.d("WayTrace", "JSON posts " + posts);
    final ArrayList<Post> outList = new ArrayList<>(posts.size());
    for (int i = 0; i < posts.size(); i++) {
        final Post post = new Post();
        Log.v("WayTrace", "JSON posts …
Run Code Online (Sandbox Code Playgroud)

android json gson retrofit

5
推荐指数
0
解决办法
840
查看次数

创建android选择器扩展背景?attr/selectableItemBackground?

我想创建一个按钮背景,它与 ?attr/selectableItemBackground 完全相同,但具有黑色描边轮廓。

有没有办法“扩展” ?attr/selectableItemBackground 并添加黑色轮廓,或者我是否必须创建一个全新的 stateList?

android button drawable

5
推荐指数
0
解决办法
578
查看次数