小编Geo*_*iev的帖子

将Ripple效果添加到RecyclerView项目

我正在尝试将Ripple Effect添加到RecyclerView的项目中.我在网上看了一下,但找不到我需要的东西.我认为它必须是自定义效果.我已经尝试了android:background属性到RecyclerView本身并将其设置为"?android:selectableItemBackground"但它没有工作:

    <android.support.v7.widget.RecyclerView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:focusable="true"
    android:clickable="true"
    android:background="?android:selectableItemBackground"
    android:id="@+id/recyclerView"
    android:layout_below="@+id/tool_bar"/>
Run Code Online (Sandbox Code Playgroud)

这是我试图将效果添加到的RecyclerView:

在此输入图像描述

android android-animation android-recyclerview

83
推荐指数
5
解决办法
6万
查看次数

圆角进度条?

我正在努力实现这个进度条设计: 在此输入图像描述

我现有的代码产生了这个: 在此输入图像描述

这是代码:

<item android:id="@android:id/background">
    <shape>
        <corners android:radius="8dp"/>
        <solid android:color="@color/dirtyWhite"/>
    </shape>
</item>

<item android:id="@android:id/progress">
    <clip>
        <shape>
            <corners android:radius="8dp"/>
            <solid android:color="@color/colorPrimaryDark"/>
        </shape>
    </clip>
</item>
Run Code Online (Sandbox Code Playgroud)

我的进度条:

 <ProgressBar
            android:id="@+id/activeProgress"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:progress="10"
            android:progressDrawable="@drawable/rounded_corners_progress_bar"/>
Run Code Online (Sandbox Code Playgroud)

我尝试<size><shape>in 上添加属性<clip以使进度形状稍微小一点,但它不起作用.此外,进度条是平的,我想按照设计弯曲.我需要改变才能实现设计?

android android-progressbar android-drawable

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

在java中编写文本文件的最简单方法是什么?

您好,我想知道在java中编写文本文件最简单(也是最简单)的方法是什么.请简单,因为我是初学者:D我在网上搜索并找到了这段代码,但我理解了50%的代码.

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class WriteToFileExample {
public static void main(String[] args) {
    try {

        String content = "This is the content to write into file";

        File file = new  File("C:/Users/Geroge/SkyDrive/Documents/inputFile.txt");

        // if file doesnt exists, then create it
        if (!file.exists()) {
            file.createNewFile();
        }

        FileWriter fw = new FileWriter(file.getAbsoluteFile());
        BufferedWriter bw = new BufferedWriter(fw);
        bw.write(content);
        bw.close();

        System.out.println("Done");

    } catch (IOException e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

}

java text file

34
推荐指数
4
解决办法
6万
查看次数

如何理解VIPER清洁架构?

我最近发现了VIPER干净的架构,我开始寻找在Android平台上应用这种架构的示例教程.然而,我唯一发现的是样本项目让我感到困惑,这就是为什么我想按照一个简单的例子来理解VIPER的基本原则.我想知道是否有人可以在上面分享一些很好的教程.

architecture android software-design viper-architecture

18
推荐指数
2
解决办法
8567
查看次数

未设置IAB助手.无法执行操作:queryInventory

我正在尝试在我的应用中实现应用内结算API,但是当我运行我的应用时,它会产生异常.这是我第一次使用应用内结算API.这是我得到的异常的日志:

Process: koemdzhiev.com.quickshoppinglist, PID: 10604
java.lang.RuntimeException: Unable to start activity ComponentInfo{koemdzhiev.com.quickshoppinglist/koemdzhiev.com.quickshoppinglist.ui.MainActivity}: java.lang.IllegalStateException: IAB helper is not set up. Can't perform operation: queryInventory
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2329)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2389)
        at android.app.ActivityThread.access$900(ActivityThread.java:147)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5254)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
 Caused by: java.lang.IllegalStateException: IAB helper is not set up. Can't perform operation: queryInventory
        at koemdzhiev.com.quickshoppinglist.utils.IabHelper.checkSetupDone(IabHelper.java:782)
        at koemdzhiev.com.quickshoppinglist.utils.IabHelper.queryInventoryAsync(IabHelper.java:610)
        at koemdzhiev.com.quickshoppinglist.utils.IabHelper.queryInventoryAsync(IabHelper.java:639)
        at koemdzhiev.com.quickshoppinglist.ui.MainActivity.queryPurchasedItems(MainActivity.java:187)
        at koemdzhiev.com.quickshoppinglist.ui.MainActivity.onStart(MainActivity.java:193)
        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1220)
Run Code Online (Sandbox Code Playgroud)

我在主要活动中的代码:

public class MainActivity extends AppCompatActivity {
private static final …
Run Code Online (Sandbox Code Playgroud)

android in-app-purchase in-app-billing

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

片段必须在主题onCreate中指定preferenceTheme

我试图弄清楚为什么我收到此错误:

java.lang.IllegalStateException: Must specify preferenceTheme in theme
at android.support.v7.preference.PreferenceFragmentCompat.onCreate(PreferenceFragmentCompat.java:210)
at android.support.v4.app.Fragment.performCreate(Fragment.java:2177)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager
Run Code Online (Sandbox Code Playgroud)

尝试运行我的PreferenceFragmentCompat时这是上面的类代码:

public class SettingsFragment extends PreferenceFragmentCompat {

public SettingsFragment() {
    // Required empty public constructor
}

public static SettingsFragment newInstance() {
    SettingsFragment fragment = new SettingsFragment();
    return fragment;
}

@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
    setPreferencesFromResource(R.xml.settings_preferences, rootKey);
}

}
Run Code Online (Sandbox Code Playgroud)

这是显示片段的活动的清单声明

<activity
        android:name=".active_minutes_screen.view.ActiveMinutesActivity"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>

            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

显示上述MainActivity中的片段的代码

FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, HistoryFragment.newInstance());
ft.commit();
Run Code Online (Sandbox Code Playgroud)

我通过MainActivity申请的主题

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item> …
Run Code Online (Sandbox Code Playgroud)

android android-fragments

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

Android服务应该在MVP模式中扮演什么角色?

我正在开发一个人类活动识别的Android应用程序.

它基本上就是这样 - 服务不断读取加速器数据并将识别的活动(即步行,运行)存储在数据库中.用户可以在活动中查看所有已识别的活动ListView(访问数据库).数据库中的每个User表都有一个pa_goal(物理活动目标)字段,服务从数据库中读取该字段并进行一些检查.

当然,用户可以从活动中更改此目标.因为我将实现MVP架构模式.

我不确定在哪里提供服务?肯定不是View.有什么建议?

android android-service android-mvp

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

Viewpager被推出屏幕[CoordinatorLayout] [设计资料库]

我有一个简单的应用程序与viewpager包含3个片段.在其中一个片段中我有Recyclerview列表.向下滚动时,工具栏将折叠,并显示向上滚动时.我的问题是当工具栏折叠并且我向左/向右滚动时我会以编程方式展开它并且它会将viewpager向下推,而不是仅仅重叠它.这导致屏幕视图的不令人愉快的位移.如何让工具栏与我的viewpager重叠,而不是在展开时将其向下推?我对问题点击进行了简短记录

在此输入图像描述

这是我的main_layout:

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:fab="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context=".UI.MainActivity">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/appBarLayouy"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay"
            app:layout_scrollFlags="scroll|enterAlways" />

        <android.support.design.widget.TabLayout
            android:id="@+id/sliding_tabs"
            android:layout_width="match_parent"
            android:layout_height="@dimen/tabsHeight"
            style="@style/NavigationTab"/>


    </android.support.design.widget.AppBarLayout>

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>


    <include layout="@layout/content_main"/>

    <com.getbase.floatingactionbutton.FloatingActionsMenu
        android:id="@+id/floatingActionMenu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        fab:fab_addButtonColorNormal="@color/blood_orange"
        fab:fab_addButtonColorPressed="@color/dirtyWhite"
        fab:fab_addButtonPlusIconColor="@color/dirtyWhite"
        fab:fab_addButtonSize = "normal"
        fab:fab_labelStyle="@style/menu_labels_style"
        fab:fab_labelsPosition="left"
        app:layout_anchor="@id/viewpager"
        app:layout_anchorGravity="bottom|end">

        <com.getbase.floatingactionbutton.FloatingActionButton
            android:id="@+id/createPlanBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            fab:fab_colorNormal="@color/blood_orange"
            fab:fab_title="Create a plan"
            fab:fab_size="normal"
            app:fab_icon="@drawable/ic_event_white_48dp"
            fab:fab_colorPressed="@color/dirtyWhite"/>

        <com.getbase.floatingactionbutton.FloatingActionButton
            android:id="@+id/changeStatusBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            fab:fab_colorNormal="@color/blood_orange"
            fab:fab_size="normal"
            app:fab_icon="@drawable/ic_textsms_white_48dp"
            fab:fab_title="Change status"
            fab:fab_colorPressed="@color/dirtyWhite"/>

    </com.getbase.floatingactionbutton.FloatingActionsMenu>

    </android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

这是包含recyclerview布局的片段:

<RelativeLayout …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager android-recyclerview android-coordinatorlayout

8
推荐指数
2
解决办法
3132
查看次数

从Java中删除数组中的重复项

我正在尝试编写一个程序,它将生成一个随机的十个整数数组(1到6之间的整数),然后我必须形成另一个数组,删除所有重复项.所以{1,3,5,5,3,4,2,2,2,1}应该返回{1,3,5,4,2}.问题是我得到了答案,但输出数组在重复项所在的地方包含0,我不知道如何减少临时数组的长度(如果可能的话).这是我的计划:

import java.util.*;
public class Lab9Tut12{
public static void main (String[]args){
    int [] numbers = new int[10];
    //int length = 10;
    int[] temp = new int[length];
    for(int i=0;i<10;i++){
        numbers [i] = (int)(Math.random()*6+1);
        System.out.print(numbers [i]);
        System.out.println();
    }
    for(int i=1;i<10;i++){
       if(numbers[i-1]!=numbers[i]){
         temp[i]= numbers[i];
         //length--;
       }
    }
    System.out.println(Arrays.toString(temp));
}
Run Code Online (Sandbox Code Playgroud)

}

java arrays duplicates

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

如何处理RxJava中的onError.我收到"OnErrorNotImplementedException"

在我的应用程序中,我使用ReactiveLocationProvider库(链接).我在onCreate方法中订阅了更新.当设备在线时它工作正常但如果我关闭我的wifi并等待下一个后台位置更新设备OnErrorNotImplementedException.这是日志:

12-30 00:05:44.711 12237-12237/koemdzhiev.com.stormy E/AndroidRuntime: FATAL EXCEPTION: main
 Process: koemdzhiev.com.stormy, PID: 12237
 java.lang.IllegalStateException: Exception thrown on Scheduler.Worker thread. Add `onError` handling.
     at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:60)
     at android.os.Handler.handleCallback(Handler.java:739)
     at android.os.Handler.dispatchMessage(Handler.java:95)
     at android.os.Looper.loop(Looper.java:135)
     at android.app.ActivityThread.main(ActivityThread.java:5292)
     at java.lang.reflect.Method.invoke(Native Method)
     at java.lang.reflect.Method.invoke(Method.java:372)
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
  Caused by: rx.exceptions.OnErrorNotImplementedException: Timed out waiting for response from server
     at rx.Observable$27.onError(Observable.java:7535)
     at rx.observers.SafeSubscriber._onError(SafeSubscriber.java:154)
     at rx.observers.SafeSubscriber.onError(SafeSubscriber.java:111)
     at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.pollQueue(OperatorObserveOn.java:197)
     at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber$2.call(OperatorObserveOn.java:170)
     at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
     at android.os.Handler.handleCallback(Handler.java:739) 
     at android.os.Handler.dispatchMessage(Handler.java:95) 
     at android.os.Looper.loop(Looper.java:135) 
     at android.app.ActivityThread.main(ActivityThread.java:5292) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) 
     at …
Run Code Online (Sandbox Code Playgroud)

android reactive-programming rx-java

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