小编stu*_*d91的帖子

从服务Android M请求位置权限

我正在使用启动时启动并开始检查位置更新的服务.一旦我拒绝在权限弹出窗口上进行位置访问,感谢Android M我的服务在手机启动后崩溃了.

因为我已经没有活动在这种情况下,调用requestPermissions()返回一个ClassCastException作为我的服务Context能不能被转换为一个活动.

我的方法调用:

ActivityCompat.requestPermissions((Activity) mContext, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, REQUEST_COARSE_LOCATION);
Run Code Online (Sandbox Code Playgroud)

到目前为止是否有任何解决方案或者我是否必须撤销服务权限以免在这种状态下运行.

android android-permissions android-6.0-marshmallow

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

按原始布尔类型对ArrayList进行排序

我想ArrayList使用布尔类型对我进行排序.基本上我想首先显示条目true.这是我的代码如下:

Abc.java

public class Abc {
 int id;
 bool isClickable;

 Abc(int i, boolean isCl){
    this.id = i;
    this.isClickable = iCl;
 }
 }
Run Code Online (Sandbox Code Playgroud)

Main.java

List<Abc> abc = new ArrayList<Abc>();

//add entries here

//now sort them
Collections.sort(abc, new Comparator<Abc>(){
        @Override
        public int compare(Abc abc1, Abc abc2){

            boolean b1 = abc1.isClickable;
            boolean b2 = abc2.isClickable;

            if (b1 == !b2){
                return 1;
            }
            if (!b1 == b2){
                return -1;
            }
            return 0;
        }
    });
Run Code Online (Sandbox Code Playgroud)

排序前的顺序:true true true false false false …

java sorting arraylist java-collections-api

19
推荐指数
7
解决办法
3万
查看次数

API 17和API 16中的RecyclerView高度问题 - Android

我正在RecyclerView我的应用程序中实现显示一些东西.在我的LG Nexus 5(Android 5.1 M)上,如果我将目标sdk设置为16或17(基本上模拟api 16,17那些手机上发生的事情),我的行高度会发生显着变化.

但是,这不会发生在API 18或18+上.我无法弄清楚为什么会发生这种情况以及解决这个问题的最佳方法是什么.

还有一件事:ImageView在列表行中使用了一个.当我ImageView在服务器中加载图像时,会发生这种情况.我使用ImageLoader库来做到这一点.但是,如果我使用静态图像,那么我没有这个问题

android android-recyclerview

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

Spinner下拉高度以匹配父级

是否可以调整Spinner下拉高度以填满整个屏幕.现在我有3个项目,我动态添加到微调器适配器,但这些只覆盖屏幕的一半.我现在拥有的是这样的:

在此输入图像描述

我想要的是这样的:

在此输入图像描述

我可以添加空项目,但这不能解决不同屏幕尺寸的问题

我试图在微调器上实现一个样式,但它没有用

<style name="MyCustomSpinner" parent="Widget.AppCompat.Spinner.DropDown">
    <item name="android:dropDownHeight">match_parent</item>
</style>
Run Code Online (Sandbox Code Playgroud)

UPDATE

我在动作栏和微调器之间有一个视图,所以我不能layout_weight=1用于我的微调器

android android-spinner

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

confirmation email as a Data Element Type - Function Points

I understand that a confirmation message on a UI is counted as a Data Element Type (DET). What if my confirmation message is an alert box on a UI plus an email confirmation.

Should i count it as 1 DET or 2 DETs

Thanks

software-design function-points code-complexity measure

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

Geofences(Android示例应用程序)java.lang.ClassNotFoundException MainActivity

我有一个华硕Eee Tab(Transformer Prime TF201 Android v4.1.1).我正在阅读关于Geofencing的API并将下面的示例应用程序下载到我的设备=> http://developer.android.com/training/location/geofencing.html.但是当我打开它时它会终止.

我在AndroidManifest.xml文件中设置了目标sdk = 16

logcat的

06-04 19:39:34.176: E/AndroidRuntime(2596): FATAL EXCEPTION: main
06-04 19:39:34.176: E/AndroidRuntime(2596): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.android.geofence/com.example.android.geofence.MainActivity}: java.lang.ClassNotFoundException: com.example.android.geofence.MainActivity
06-04 19:39:34.176: E/AndroidRuntime(2596):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1983)
06-04 19:39:34.176: E/AndroidRuntime(2596):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
06-04 19:39:34.176: E/AndroidRuntime(2596):     at android.app.ActivityThread.access$600(ActivityThread.java:130)
06-04 19:39:34.176: E/AndroidRuntime(2596):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
06-04 19:39:34.176: E/AndroidRuntime(2596):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-04 19:39:34.176: E/AndroidRuntime(2596):     at android.os.Looper.loop(Looper.java:137)
06-04 19:39:34.176: E/AndroidRuntime(2596):     at android.app.ActivityThread.main(ActivityThread.java:4745)
06-04 19:39:34.176: E/AndroidRuntime(2596):     at java.lang.reflect.Method.invokeNative(Native Method)
06-04 19:39:34.176: E/AndroidRuntime(2596):     at java.lang.reflect.Method.invoke(Method.java:511)
06-04 19:39:34.176: E/AndroidRuntime(2596):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) …
Run Code Online (Sandbox Code Playgroud)

android geolocation classnotfoundexception geofencing android-geofence

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

相机图像处理

基本上我有一个相机芯片(相机模块:C3038,使用OmniVision的CMOS图像传感器OV6630)通过RS232链接连接到PC.我想读取这种格式的Java程序中的图像数据(根据相机规范):

数据格式 - YCrCb 4:2:2,GRB 4:2:2,RGB原始数据

关于如何做的任何提示?

我的实施:

import gnu.io.CommPortIdentifier;
import gnu.io.PortInUseException;
import gnu.io.SerialPort;
import gnu.io.SerialPortEvent;
import gnu.io.SerialPortEventListener;
import gnu.io.UnsupportedCommOperationException;

import java.awt.*;
import java.awt.image.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
import javax.imageio.*;

public class SimpleRead1 implements Runnable, SerialPortEventListener {
static CommPortIdentifier portId;
static Enumeration portList;

InputStream inputStream;
SerialPort serialPort;
Thread readThread;
byte [] readBuffer;
static byte [] storeBuffer;

public SimpleRead1() {
    try {
        serialPort = (SerialPort) portId.open("SimpleReadApp", 2000);
    }catch (PortInUseException e) {System.out.println(e);}

    try {
        inputStream = serialPort.getInputStream();
    }catch (IOException e) …
Run Code Online (Sandbox Code Playgroud)

java image image-processing

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

如何有效地重新启动片段中的相机-条码扫描器

我的应用程序中有两个片段,我正在尝试使用ZXingScanner其中一个库来实现条形码扫描仪。实现工作正常。我的问题基本上与不良设计有关。

当用户扫描有效代码时,会出现一个对话框,说明该代码有效。但是,当我关闭对话框时(按OK),条形码扫描仪将停止。为了解决这个问题,我有以下几点:

buttonConfirm.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    popupView.dismiss();
                    restartCamera();
                }
            });

public void restartCamera(){
    mScannerView.stopCamera(); //mScannerView = new ZXingScannerView(getActivity());
    mScannerView.startCamera();
}
Run Code Online (Sandbox Code Playgroud)

这种方法的问题在于,当我切换片段时,相机仍在运行。当我切换到第一个片段然后重新打开相机并解决此问题时,如何停止相机。(我ViewPager用来实现我的片段)

android zxing android-fragments

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

Android SDK中的非Scroll RecyclerView滚动问题23

我正在实施一个RecyclerView内部ScrollView.为了在整个页面上只有一个滚动行为,我实现了一个NonScrollRecyclerView版本.实施如下:

public class NonScrollRecyclerView extends RecyclerView {
    public NonScrollRecyclerView(Context context) { super(context); }

    public NonScrollRecyclerView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public NonScrollRecyclerView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev){

        if(ev.getAction() == MotionEvent.ACTION_MOVE)
            return true;

        return super.dispatchTouchEvent(ev);
    }
}
Run Code Online (Sandbox Code Playgroud)

一旦我将我的构建和目标设置更新到SDK 23,我就无法滚动包含该页面的页面NonScrollRecyclerView.具体问题是页面滚动正常,直到我到达回收站视图部分,一旦我滚动到此视图,我无法向上或向下滚动.

我不喜欢SDK 22及以下版本

我的xml如下:

XML @layout/rv包含回收器视图

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:background="@color/background_gray">

 <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/background_gray"
    android:orientation="vertical">

    <include
        layout="@layout/row_mall_header"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/cv_mall_header" …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview android-6.0-marshmallow

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

无触摸设备上的RecyclerView ListSelector(使用onKey Listener)

我正在尝试RecyclerView在无触摸设备上为我的网格实现列表选择器.我的实现工作正常,但它需要的notifyItemChanged()方法不是高效的性能.我有一个包含100个项目的网格,所以如果我快速滚动(用键盘滚动因此onKey),网格会变得扭曲,因为许多项目正在更新.有办法避免这种情况吗?

活动

mRecyclerView.setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            RecyclerView.LayoutManager lm = mRecyclerView.getLayoutManager();

            if (event.getAction() == KeyEvent.ACTION_DOWN) {
                switch (keyCode) {
                    case Constants.KEYCODE_UP:
                        return moveSelection(lm, -1, true);

                    case Constants.KEYCODE_DOWN:
                        return moveSelection(lm, 1, true);
                }
            }
            return false;
         }   
});

public boolean moveSelection(RecyclerView.LayoutManager lm, int direction, boolean verticalMovement) {
   ...
   //just calculate the position to move to and pass it to selectedPosition
    return mAdapter.tryMoveSelection(lm, selectedPosition);
}
Run Code Online (Sandbox Code Playgroud)

适配器

 @Override
    public void onBindViewHolder(ViewHolder …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

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