小编Ani*_*oin的帖子

启用IntelliJ的花式≠(不等于)运算符

我在HOT Hariri 的GOTO 2016•Kotlin - Ready for Production会议上见证了这一点.

在他的一些代码中,通常会是这样的:

if (x != y) { /* do some stuff */ }
Run Code Online (Sandbox Code Playgroud)

正在以优雅的风格展示:

if (x ? y) { /* do some stuff */ }
Run Code Online (Sandbox Code Playgroud)

这是实时编码会话的屏幕截图:

常规Java代码

他正在使用常规!=操作员,IDEA正在处理剩下的事情.

我一直在使用IntelliJ的配置,但无法启用这个新的奇特功能.有帮助吗?

PS.我正在使用最新的Ultimate版本(2016.3.3).

formatting code-formatting equals intellij-idea

54
推荐指数
4
解决办法
8326
查看次数

Android:Realm + Retrofit 2 + Gson

使用Retrofit + GsonRealm时遇到问题.我知道这3个库的组合存在问题.一些答案表明,ExclusionStrategyGson设置一个可以解决这个问题,我试过但它没有用.

我的代码看起来像:

public class ObjectList {
    public List<AnotherObject> anotherObject;
 }

public class AnotherObject extends RealmObject {
    private String propA;
    public void setPropA(String propA){
       this.setPropA = propA
    }
    public String getPropA(){
       return propA
    }
}

        Gson gson = new GsonBuilder().setExclusionStrategies(new  ExclusionStrategy() {
        @Override
        public boolean shouldSkipField(FieldAttributes f) {
            return f.getDeclaringClass().equals(RealmObject.class);
        }

        @Override
        public boolean shouldSkipClass(Class<?> clazz) {
            return false;
        }
    }).create();

    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("http://localhost/api/")
            .addConverterFactory(GsonConverterFactory.create(gson))
            .build();
    ObjectAPI objectAPI …
Run Code Online (Sandbox Code Playgroud)

android realm gson retrofit

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

Gson dateformat解析/输出unix-timestamps

我正在使用Gson序列化/反序列化我的pojos,并且目前正在寻找一种干净的方式来告诉Gson将日期属性解析/输出为unix-timestamps.这是我的尝试:

    Gson gson = new GsonBuilder().setDateFormat("U").create();
Run Code Online (Sandbox Code Playgroud)

来自PHP,其中"U"是用于解析/输出日期的dateformat作为unix-timestamps,当运行我的尝试代码时,我得到这个RuntimeException:

未知的模式字符'U'

我假设Gson在引擎盖下使用SimpleDateformat,但没有定义字母"U".

我可以写一个DateTypeAdapter并注册它,GsonBuilder但我正在寻找一种更清洁的方法来实现这一目标.简单地改变它DateFormat会很棒.

android date-format unix-timestamp gson

8
推荐指数
1
解决办法
3595
查看次数

尝试隐藏标题栏时应用程序崩溃

为了制作全屏应用程序,我对新的"空白活动"项目的清单进行了以下更改:

  android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
Run Code Online (Sandbox Code Playgroud)

在任何设备上运行时,应用程序崩溃.我所做的更改已经被StackOverflow中的许多帖子推荐,我无法弄清楚我做错了什么.

清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="19" />
<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
    <activity
        android:name="com.example.app.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
 </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

android android-fullscreen

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

使用可选的自定义函数onclick扩展单个toastr创建

我收到了关于如何在toast点击时做出反应的消息,所以我决定在这里为每个人发布.

当用户点击时,toast我并不总是希望消息消失,但取决于我想要的消息类型:

  • 消失.
  • 将用户重定向到另一个页面(x es/meetings/210)显示一个jquery对话框(例如:显示收到的短信).

使用基本点击事件我无法检测到toast我点击了.我找到的唯一解决方法是在toast中添加一个链接,并在用户点击它时进行重定向.

所以我要问的是通过使用基本点击事件来获取用户点击的当前吐司的方法(但这可能需要更多工作隐藏数据在吐司中以便在单击时恢复它以了解要做什么),或者通过添加到创建toast的函数,单击时可以对函数进行可选的回调,如下所示:

toastr.error(
'body text', 
'header text', 
click: function() {
console.log('you clicked on the error toaster')
}
);
Run Code Online (Sandbox Code Playgroud)

谢谢你这个非常好的图书馆.

javascript jquery toastr

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

我应该在AsyncTask中使用WeakReference <Context>或Application Context吗?

我有点陷入两难境地,我希望你们可以帮助我.

正如你所看到的AsyncTask,我有一些代码可以将Bitmap对象作为.jpg文件保存到库中.在AsyncTask我也使用a Context,但据我所知使用Activity此内部类的上下文可能会导致内存泄漏,所以我将其更改为一个WeakReference<Context> weakContext;垃圾收集器可以收集它.

但是通过使用Application我从View构造函数传递的上下文,我应该归档与弱上下文引用相同的效果

那么在这种情况下使用比其他更好吗?

public class ViewToBitmap {

private View view;
private WeakReference<Context> weakContext;

public ViewToBitmap(@NonNull View view) {
    this.view = view;
}

 // This?
private WeakReference<Context> getContext() {
    weakContext = new WeakReference<>(view.getContext());
    return weakContext;
}

 // Or This?
private Context getContext() {
    return view.getContext().getApplicationContext();
}

private class AsyncSaveBitmap 
                extends AsyncTask<Void, Void, Void> 
                implements MediaScannerConnection.OnScanCompletedListener {

    @Override
    protected Void doInBackground(Void... params) {
      //TODO: …
Run Code Online (Sandbox Code Playgroud)

android

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

如何知道homestead安装的版本

我不记得安装了哪个版本,我想知道但不知道如何。可能会有一些命令发送到终端,但我不知道。

谁能告诉我吗?

提前致谢。

php laravel homestead

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

JSON:使用与序列化名称 json 不同的反序列化名称

我有一个类User,我从 system1 收到 JSON(用于 User 类),我应该读取信息,验证然后转发到 system2,我无法触及这两个系统,问题是键的名称不同,我想区分收到的 JSON 的反序列化名称和序列化名称之间是:

{"userId":"user1","pwd":"123456","country":"US"}

"{"username":"user1","password":"123456","country":"US"}"

但发送的应该是这样的

我正在使用 Gson lib,这是我的代码:

用户类别:

class User implements Cloneable {

    @SerializedName("username")
    private String username ;
    
    @SerializedName("password")
    private String password ;
    
    @SerializedName("country")
    private String country ;

}
Run Code Online (Sandbox Code Playgroud)

TestJson 类

class TestJson {

    private static GsonBuilder gsonBuilder;
    private static Gson gson;

    public static Object fromJson(String json, Class clz) {
        gson = new Gson();
        return gson.fromJson(json, clz);
    }

    public static String toJson(Object obj) {
        gsonBuilder = new GsonBuilder();
        gson = …
Run Code Online (Sandbox Code Playgroud)

java json gson

4
推荐指数
2
解决办法
5213
查看次数

创建自定义文本选择操作

我想长按并选择一些文本,我可以在许多应用程序中看到它,但我对此没有任何想法。我正在寻找一些想法或一些例子?下图就是我的目标。

我想要的是

android

4
推荐指数
1
解决办法
4886
查看次数

Java 泛型不兼容类型(不存在类型变量的实例)

问题标题可能看起来与其他帖子相同,但内容不同。所以请不要将其标记为重复。

问题

我有以下课程:

public class SCDTO extends RDTO {
    private List<String> sCPairs = Collections.emptyList();

    public SCDTO(List<String> sCPairs) {
        this.sCPairs = sCPairs;
    }

    //Getter setter
    
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用下面的 lambda 表达式来设置sCPairs.

sCPairsObject.setSCPairs(
         util.getSCMap().entrySet().stream()
        .filter(entry -> entry.getValue().contains("abc"))
        .collect(Collectors.toCollection(ArrayList<String>::new))
);
Run Code Online (Sandbox Code Playgroud)

但我有一个编译错误:

no instance(s) of type variable(s) exist so that Entry<String, List<String>> conforms to String
Run Code Online (Sandbox Code Playgroud)

util.getSCMap返回Map<String, List<String>>

谁能解释一下为什么会发生这种情况以及如何解决它?

谢谢。

java generics lambda java-8

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

如何在 Googlemaps api v3 中添加 Spiderfier?

我是谷歌地图的新手。我已经阅读了Overlapping Marker Spiderfier文档,但我仍然对如何将其实现到我的地图中感到困惑。

这是我的尝试:

function initialize() {
    var map = new google.maps.Map(document.getElementById('map'), {
        zoom: 7,
        center: new google.maps.LatLng(40.0000, 48.0000),
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        disableDefaultUI: true,
        zoomControl: true
    });
    var locations = [[40.0000, 48.0000], [40.0000, 48.0000], [40.0000, 48.0000]];
    var marker, i;
    for (i = 0; i < locations.length; i++) {
        marker = new google.maps.Marker({
            position: new google.maps.LatLng(locations[i][0], locations[i][1]),
            map: map
        });
    }
}
google.maps.event.addDomListener(window, 'load', initialize);
Run Code Online (Sandbox Code Playgroud)

您可以在jsfiddle 中找到此代码。

javascript google-maps markerspiderfier

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

从List创建数组时的IndexOutOfBoundException

我有这个方法返回一个List用户名,由于某种原因,它抛出一个indexOutOfBoundException.

public  String [] getUsernames(){
    String[] usernames = new String [friendRequests.size()];
    int i = 1;
    for (FriendRequest  friendRequest:  this.friendRequests){
        usernames[i]= friendRequest.getUsername();
        i++;
    }
    return usernames;
}
Run Code Online (Sandbox Code Playgroud)

注意

请不要只是盲目地对这个问题进行投票,因为它已经存在了.

当我问这个问题时(差不多三年前),我的英语技能并不是那么好,这就是为什么它被拒绝投票的主要原因.

我编辑它以使我的问题更加清晰.

java

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