小编Zee*_*bir的帖子

带有viewpager的TabLayout不能平滑滚动

编辑

我已按照这些教程来解决此问题.

http://www.truiton.com/2015/06/android-tabs-example-fragments-viewpager/ https://guides.codepath.com/android/google-play-style-tabs-using-tablayout http:/ /www.voidynullness.net/blog/2015/08/16/android-tablayout-design-support-library-tutorial/

但是在尝试了几种解决方案之后,这个问题仍然存在.这是我面临的问题的演示.自从我遇到这个问题以来已经有好几周了.

演示链接.

我用于测试的设备是Nexus 4和Nexus 5.

TabLayoutViewPager滚动不顺畅.我需要滑动两次以在下一次点击时移动.我环顾网络但找不到任何解决方案.我正在使用最新的支持设计库.这是gradle文件

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.3"

defaultConfig {
    applicationId "com.softoven.ultron"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.android.support:design:23.3.0'
compile 'org.jsoup:jsoup:1.6.1'
compile 'com.mikhaellopez:circularimageview:3.0.0'
compile 'com.android.support:recyclerview-v7:23.3.0'
compile 'com.mcxiaoke.volley:library:1.0.19'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
compile 'com.google.code.gson:gson:2.5'
}
Run Code Online (Sandbox Code Playgroud)

这是活动代码.

private DrawerLayout …
Run Code Online (Sandbox Code Playgroud)

java android android-fragments android-viewpager android-tablayout

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

无法删除旧的javaCompile操作,可能是类名已更改

我正在学习RxJava.为此,我在RxJava上关注了droidcon谈话视频.教练为他正在使用的项目提供了回购链接.当我尝试在我的机器上构建项目时,我克隆了repo.我收到这个错误

错误:无法删除旧的javaCompile操作,可能是类名已更改?请提交错误报告,告知您正在使用的gradle版本.

这是gradle.build文件

    buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'me.tatarka:gradle-retrolambda:2.5.0'
    }
}

repositories {
    mavenCentral()
    maven { url "https://github.com/alter-ego/advanced-android-logger/raw/develop/releases/" }
}

apply plugin: 'retrolambda'
apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "25.0.0"

    defaultConfig {
        applicationId "com.packtpub.apps.rxjava_essentials"
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
        jackOptions {
            enabled true
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    lintOptions {
        disable 'InvalidPackage' …
Run Code Online (Sandbox Code Playgroud)

java android gradle rx-java rx-android

15
推荐指数
2
解决办法
1158
查看次数

玩框架.从谷歌登录页面重定向后,会话变为空

我正在尝试在网络应用中加入谷歌分析图,以显示用户应用程序使用情况的统计数据.这是本地网址http://192.168.100.10:9000/我登录仪表板(网络应用程序)我有一个谷歌登录按钮.到目前为止,我在登录后维护用户的会话.

当用户点击登录按钮时.它触发回调方法.当第一次触发回调时,它会保持会话.我的意思session("user")是这里不是空的.

public Result callback() {
    JsonNode jsonNode = Json.parse(session("user"));
    UserDTO userDTO = Json.fromJson(jsonNode, UserDTO.class);

    if (userDTO.getRole().getType().equals(RoleDTO.EnRoleType.ADMIN.toString()))
        return redirect(com.softoven.ultron.controllers.routes.AccountCTRL.index());
    if (request().queryString().get("code") != null && request().queryString().get("state") != null && request().queryString().get("state")[0].equals(session("state"))) { // Check if he/she is authorized
        session().remove("state");
        Analytics analytics = setAnalytics(userDTO, request());
        session("analytics", Json.toJson(analytics).toString());
        return redirect(com.softoven.ultron.controllers.routes.AccountCTRL.index());
    } else {  // Create Authorization URL
        String url = helper.buildLoginUrl();
        session("state", helper.getStateToken());
        return redirect(url);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是用户点击登录按钮https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=force&client_id=784122128025-cvq0fn1e23f24dia4soavsd9v1ovesub.apps.googleusercontent.com&redirect_uri=http://localhost:9000/callback&response_type=code&scope=https://www.googleapis.com/auth/analytics.readonly%20https://www.googleapis.com/auth/analytics.manage.users%20https://www.googleapis.com/auth/analytics%20https://www.googleapis.com/auth/analytics.edit%20https://www.googleapis.com/auth/analytics.manage.users.readonly%20https://www.googleapis.com/auth/analytics.provision&state=google-35808300时的网址当用户点击 allow谷歌登录权限页面上的按钮时,控制权将返回callback()

在此输入图像描述

但这次session("user")是空的.这不应该是null,因为我在用户登录时设置了会话.我不知道为什么会发生这种情况以及如何解决这个问题.

这是从谷歌权限页面重定向后的结束网址. HTTP://本地主机:9000 /回调状态=谷歌-35808300&代码= 4/G-FkJ3GGS01jbeXLHK0o95ks-K-drGK7bxgzvi3cELU#

java session google-analytics playframework playframework-2.0

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

循环ViewPager.片段在第一轮之后不能正常工作

好的,所以我需要循环ViewPager.我真的很难实现它.现在我已经实现了它并且它正在工作正常,因为圆形滚动是关注.但是我注意到了一个问题.这是第一轮滚动片段后不起作用.我有三个碎片,里面有一个按钮.按钮在第一轮工作,但当我回到第一页按钮不起作用.ps我使用假页面技术使viewpager循环.

这是代码

        mViewPager.setAdapter(new PagerAdapter(getSupportFragmentManager(), this));
    //mViewPager.setOnPageChangeListener(new CircularViewPagerHandler(mViewPager));
    mViewPager.setCurrentItem(1, false);
    mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageSelected(int position) {
            if (position == 0) {
                mViewPager.setCurrentItem(3, false);
                Log.d("TAG",
                        "Swiped before first page, looping and resetting to last page.");
            } else if (position == 4) {
                mViewPager.setCurrentItem(1, false);
                Log.d("TAG",
                        "Swiped beyond last page, looping and resetting to first page.");
            }
        }

        @Override
        public void onPageScrollStateChanged(int state) {
            Log.d("onPageScrollState", "state:" + state);
            int …
Run Code Online (Sandbox Code Playgroud)

android fragment android-viewpager

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

如何从firebase检索特定的数据列表

我是新手firebasenosql数据库

我正在尝试从Firebase中检索一些特定数据.我有一个节点universities,该节点有许多唯一标识符作为节点,它有更多的数据.我想name从每个节点检索.

请看看这个.

在此输入图像描述

到目前为止我尝试过的方法:我尝试使用,addChildEventListener但这只是听第一个孩子.我调试了它,它只显示universities节点的第一个子节点的值.

myRef.addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(DataSnapshot dataSnapshot, String s) {
            List<University> university = new ArrayList<>();
            Map<String, Object> td = (HashMap<String, Object>) dataSnapshot.getValue();

            Log.d("TAG",dataSnapshot.getValue().toString());
        }

        @Override
        public void onChildChanged(DataSnapshot dataSnapshot, String s) {

        }

        @Override
        public void onChildRemoved(DataSnapshot dataSnapshot) {

        }

        @Override
        public void onChildMoved(DataSnapshot dataSnapshot, String s) {

        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

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

我也试过了addValueEventListener.这会侦听整个节点并返回整个数据,但我无法为其提取"名称",因为它包含唯一标识符.

请引导我进入正确的方向.

myRef.addValueEventListener(new ValueEventListener() …
Run Code Online (Sandbox Code Playgroud)

java android json firebase firebase-realtime-database

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

什么是CONNECTED_STRIPE_ACCOUNT_ID?如何从Android平台获取它?

我正在开发Ride Sharing应用程序并选择Stripe付款程序.在应用程序中会发生什么,骑手可以提示给司机.为此,我使用这种方法,Rider将支付给App的stripe帐户,然后app将保持其百分比,然后它将剩余的金额转移到驱动程序的条带帐户.

到目前为止一切都很顺利.App已经成功地向骑手收费,但是对于将金额转移到驾驶员的条带账户有点困惑.我查看了条纹文档,说我需要驱动程序的条带帐户CONNECTED_STRIPE_ACCOUNT_ID,我无法找到它,也无法弄清楚它是什么.什么是条纹连接帐户?如何添加用户从android到我的平台条纹连接?

这是条带提供的代码段

Stripe.apiKey = PLATFORM_SECRET_KEY;

Map<String, Object> transferParams = new HashMap<String, Object>();
transferParams.put("amount", 1000);
transferParams.put("currency", "gbp");
transferParams.put("destination", {CONNECTED_STRIPE_ACCOUNT_ID});

Transfer.create(transferParams);
Run Code Online (Sandbox Code Playgroud)

如果有人向我解释这将是很好的.谢谢Ps我不想webview在任何情况下在我的应用程序中使用.我不被允许使用它.

java android stripe-payments stripe-connect

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

如何设计Gridview像监护人的应用程序

我正在尝试制作像监护人应用程序的布局.我知道什么是gridview以及如何设计它并用数据等来膨胀它.

我想要设计什么?

在此输入图像描述

这个布局包含图像而不是图像的项目,并且还有延迟加载.

我面临的问题是什么?

1-Confused应该与哪个viewi一起使用.GridView,ListView或RecyclerView.

2 - 如果我使用GridView,那么如何为某些项目设置不同的项目布局.

我试过了什么?

我尝试使用线性布局作为单独的xml然后我在运行时将xml添加到根布局.它有点工作,但问题上升,当我需要添加clicklistener来显示相关的帖子,因为将有超过100多个帖子数据.

如果有人引导我朝着正确的方向前进,那会很有帮助.谢谢!

编辑.经过这里的答案后.我用这种方法.我习惯了xml.然后我用适配器中的getViewType更改布局,但是没有给出这样的结果.我仍在寻找更有说服力的解决方案.

这是我厌倦的代码.

public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.ViewHolder>{

MainDTO mainDTO;
public RecyclerAdapter(MainDTO mainDTO){
    this.mainDTO=mainDTO;
}

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View view;
    ViewHolder viewHolder;
    switch (viewType){
        case 0:
            view= LayoutInflater.from(parent.getContext()).inflate(R.layout.header,parent,false);
            viewHolder=new ViewHolder(view,viewType);
            return viewHolder;
        default:
            view = LayoutInflater.from(parent.getContext()).inflate(R.layout.box,parent,false);
            viewHolder=new ViewHolder(view,viewType);
            return viewHolder;
    }
}

@Override
public void onBindViewHolder(ViewHolder holder, int position) {
    ImageLoader imageLoader = ImageLoader.getInstance();
    if(position == 0){
        imageLoader.displayImage(mainDTO.getPosts().get(position).getThumbnail_images().getFull().getUrl(),holder.thumbnail);
        holder.title.setText(mainDTO.getPosts().get(position).getTitle());
    }
    else if (position > 0 …
Run Code Online (Sandbox Code Playgroud)

android listview gridview android-recyclerview

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

Android Studio codestyles/Project.xml 配置

我正在努力配置 android 项目的 project.xml。我想遵循这个文件中提到的编码风格,我不希望 Android Studio 在这个文件本身中添加任何东西。

问题

在 Android Studio 项目中工作时,在自身中添加以下几行。

 <option name="PACKAGES_TO_USE_STAR_IMPORTS">
    <value>
      <package name="java.util" alias="false" withSubpackages="false" />
      <package name="kotlinx.android.synthetic" alias="false" withSubpackages="true" />
      <package name="io.ktor" alias="false" withSubpackages="true" />
    </value>
  </option>
  <option name="PACKAGES_IMPORT_LAYOUT">
    <value>
      <package name="" alias="false" withSubpackages="true" />
      <package name="java" alias="false" withSubpackages="true" />
      <package name="javax" alias="false" withSubpackages="true" />
      <package name="kotlin" alias="false" withSubpackages="true" />
      <package name="" alias="true" withSubpackages="true" />
    </value>
  </option>
Run Code Online (Sandbox Code Playgroud)

有什么办法可以阻止 android studio 添加这些行吗?我尝试了不同的方法来做到这一点,但无法产生想要的结果。

这是project.xml我想要关注的实际文件

<component name="ProjectCodeStyleConfiguration">
  <code_scheme name="Project" version="173">
    <option name="RIGHT_MARGIN" value="150" />
    <DBN-PSQL>
      <case-options …
Run Code Online (Sandbox Code Playgroud)

java jetbrains-ide intellij-idea kotlin android-studio

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

超过1个不同的网址,只有一个列表视图

我在我的应用程序中使用webservices.基本上我的应用程序显示了wordpress网站的帖子.用户还可以为帖子添加书签.我正在使用帖子网址保存sqlite中的所有书签帖子.现在的问题是我有很多不同的网址.我想在One中显示这些网址的内容ListView.

所有这些网址的json结构也是一样的.

我已经查看了与此问题相关的其他问题,但这些问题并没有多大帮助.

让我告诉你到目前为止我尝试了多少.

这是代码,这是代码 BookmarkActivity

ArrayList<HashMap<String,String>> allData;
String[] urlarray;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_bookmark);
    SqliteController controller= new SqliteController(this);

    allData = controller.getAllData();
    for (int i=0; i<allData.size(); i++){
        String url=allData.get(i).get("link");
        urlarray= new String[]{url};
    }
    for(int i=0; i <urlarray.length; i++){
        MyAsyncTask task = new MyAsyncTask(i);
        task.execute();
    }
}
private class MyAsyncTask extends AsyncTask<Object,Void,String>{
    int urlNumber;
    HttpURLConnection connection=null;
    BufferedReader reader=null;
    public MyAsyncTask (int number){
        this.urlNumber=number;
    }
    @Override
    protected String doInBackground(Object... params) {
        try {
            URL url = new …
Run Code Online (Sandbox Code Playgroud)

wordpress android listview

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

如何使用EventBus使用Call Type

Activity/Fragment当我从服务器得到响应时,我正在使用EventBus通知.到目前为止一切都运行良好,但是当我在同一个Fragment或两个网络中使用两个网络呼叫时会出现问题Activity.问题是onEvent(String response)从服务器获取两个响应的相同方法.反应call 1不同于call 2.

我提出了一个解决方案 - 我添加CallTypeNetworkReqest但我无法通知活动/片段有关网络调用,因为post()只需要一个参数.

这是相关的代码 -

public class NetworkRequest {
    EventBus eventBus = EventBus.getDefault();

    public void stringParamRequest(String url, final Map<String, String> params,String callType) {
        StringRequest jsonObjRequest = new StringRequest(Request.Method.POST, url,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        eventBus.post(response);
                    }
                }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {
                VolleyLog.d("volley", "Error: " + error.getMessage());
                eventBus.post(error);
            }
        }) { …
Run Code Online (Sandbox Code Playgroud)

android web-services event-bus android-fragments

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