我正在使用启动时启动并开始检查位置更新的服务.一旦我拒绝在权限弹出窗口上进行位置访问,感谢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)
到目前为止是否有任何解决方案或者我是否必须撤销服务权限以免在这种状态下运行.
我想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 …
我正在RecyclerView
我的应用程序中实现显示一些东西.在我的LG Nexus 5(Android 5.1 M)上,如果我将目标sdk设置为16或17(基本上模拟api 16,17那些手机上发生的事情),我的行高度会发生显着变化.
但是,这不会发生在API 18或18+上.我无法弄清楚为什么会发生这种情况以及解决这个问题的最佳方法是什么.
还有一件事:我ImageView
在列表行中使用了一个.当我ImageView
在服务器中加载图像时,会发生这种情况.我使用ImageLoader
库来做到这一点.但是,如果我使用静态图像,那么我没有这个问题
是否可以调整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
用于我的微调器
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
我有一个华硕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
基本上我有一个相机芯片(相机模块: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) 我的应用程序中有两个片段,我正在尝试使用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
用来实现我的片段)
我正在实施一个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) 我正在尝试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 ×7
java ×2
arraylist ×1
geofencing ×1
geolocation ×1
image ×1
measure ×1
sorting ×1
zxing ×1