小编oka*_*ose的帖子

android - 如何捕获与RecyclerView一起使用的ItemTouchHelper的Drop动作

我对RecyclerView的ItemTouchHelper疑问.

我正在制作一个游戏.游戏板实际上是RecyclerView.RecyclerView的GridLayoutManager具有一些跨度计数.我想实现拖放 recyclerview的项目.任何项目都可以拖动所有方向(向上,向下,向左,向右).

private void initializeLayout() {
    recyclerView.setHasFixedSize(true);
    recyclerView.setLayoutFrozen(true);
    recyclerView.setNestedScrollingEnabled(false);

    // set layout manager
    GridLayoutManager layoutManager = new GridLayoutManager(getContext(), BOARD_SIZE,
        LinearLayoutManager.VERTICAL, true);
    recyclerView.setLayoutManager(layoutManager);

    // Extend the Callback class
    ItemTouchHelper.Callback itemTouchCallback = new ItemTouchHelper.Callback() {

    public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
        Log.w(TAG, "onMove");
        return false;
    }

    @Override
    public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
        // Application does not include swipe feature.
    }

    @Override
    public void onMoved(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder,
                        int …
Run Code Online (Sandbox Code Playgroud)

android drag-and-drop gridlayoutmanager android-recyclerview

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

带有比较器类的android rxjava排序列表

我开始在我的android项目中使用rxjava.我需要从api调用中对返回的事件列表进行排序.我写了比较类来排序列表:

public class EventParticipantComparator {

    public static class StatusComparator implements Comparator<EventParticipant> {

        @Override
        public int compare(EventParticipant participant1, EventParticipant participant2) {
            return participant1.getStatus() - participant2.getStatus();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以将这个类与经典的Collections类一起使用.

Collections.sort(participants, new EventParticipantComparator.StatusComparator());
Run Code Online (Sandbox Code Playgroud)

如何通过反应方式实现这种情况?如果有任何方式异步排序列表,我会更喜欢这种方式.

没有排序列表的反应方式:

dataManager.getEventImplementer().getParticipants(event.getId())
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Subscriber<List<EventParticipant>>() {
                    @Override
                    public void onCompleted() {

                    }

                    @Override
                    public void onError(Throwable e) {

                    }

                    @Override
                    public void onNext(List<EventParticipant> eventParticipants) {

                    }
                });
Run Code Online (Sandbox Code Playgroud)

sorting collections android rx-java rx-android

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

Android Retrofit 2简单XML转换器

我正在使用Retrofit 2.1.0和Retrofit SimpleXML Converter 2.1.0.我添加了simplexmlconverter来使用addConverterFactory方法改进实例.

XML如下

<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
   <channel>
      <title>title</title>
      <description></description>
      <language>en-us</language>
      <item>
         <title>text</title>
         <link>text</link>
         <description>text</description>
         <enclosure url="text" length="2043520" type="image/jpeg" />
         <guid isPermaLink="false">text</guid>
         <pubDate>Fri, 17 Jun 2016 11:43 EDT</pubDate>
         <source url="text">text</source>
      </item>
      <item>
         <title>text</title>
         <link>text</link>
         <description>text</description>
         <enclosure url="text" length="1735257" type="image/jpeg" />
         <guid isPermaLink="false">text</guid>
         <pubDate>Thu, 16 Jun 2016 10:17 EDT</pubDate>
         <source url="text"></source>
      </item>
      <item>
         <title>text</title>
         <link>text</link>
         <description>text</description>
         <enclosure url="text" length="3763157" type="image/jpeg" />
         <guid isPermaLink="false">text</guid>
         <pubDate>Wed, 15 Jun 2016 10:02 EDT</pubDate>
         <source url="text">text</source> …
Run Code Online (Sandbox Code Playgroud)

xml android simple-framework retrofit retrofit2

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

Twitter OAuth Rest Api状态参数'@'符号

我正在使用twitter rest api(https://api.twitter.com/1.1/).

首先,我使用路标库生成oauth_signature.它运作良好.

上传状态端点(https://api.twitter.com/1.1/statuses/upload.json)运行良好,但如果status参数包含"@"符号,则表示无效.所以这是我的代码

TwitterStatusesService.java

import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Path;
import retrofit2.http.Query;

public interface TwitterStatusesService {
    @POST("/1.1/statuses/update.json")
    Call<ResponseBody> update(@Query("status") String status, @Query("in_reply_to_status_id") String inReplyToStatusId, @Query("lat") Double lat, @Query("long") Double lon, @Query("media_ids") String mediaIds);
}
Run Code Online (Sandbox Code Playgroud)

TwitterStatusesAPIClient.java

import android.util.Log;

import com.twitter.sdk.android.core.TwitterAuthToken;
import com.twitter.sdk.android.core.TwitterCore;
import com.twitter.sdk.android.core.TwitterSession;

import okhttp3.OkHttpClient;
import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.Retrofit;
import se.akerfeldt.okhttp.signpost.OkHttpOAuthConsumer;
import se.akerfeldt.okhttp.signpost.SigningInterceptor;

public class TwitterStatusesClient {

    private final String TAG = getClass().getSimpleName();

    private …
Run Code Online (Sandbox Code Playgroud)

twitter android oauth twitter-rest-api retrofit2

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