小编Dim*_*tri的帖子

如何设置MenuItem的图标颜色?

我定义了一个具有ShareActionProvider的菜单项并共享白色图标,如下所示:

<item
    android:icon="@drawable/ic_share_white_24dp"
    android:id="@+id/action_share"
    android:title="@string/action_share"
    android:orderInCategory="200"
    app:showAsAction="ifRoom"
    app:actionProviderClass="android.support.v7.widget.ShareActionProvider"/>
Run Code Online (Sandbox Code Playgroud)

但是当我启动应用程序时,我会得到一个不同的黑色共享图标.如何将共享图标设置为白色?

这是我的结果

在此输入图像描述

android menuitem

47
推荐指数
6
解决办法
7万
查看次数

Java中的十六进制到整数

我试图将String十六进制转换为整数.字符串十六进制是从散列函数(sha-1)计算的.我收到此错误:java.lang.NumberFormatException.我猜它不喜欢十六进制的String表示.我怎样才能做到这一点.这是我的代码:

public Integer calculateHash(String uuid) {

    try {
        MessageDigest digest = MessageDigest.getInstance("SHA1");
        digest.update(uuid.getBytes());
        byte[] output = digest.digest();

        String hex = hexToString(output);
        Integer i = Integer.parseInt(hex,16);
        return i;           

    } catch (NoSuchAlgorithmException e) {
        System.out.println("SHA1 not implemented in this system");
    }

    return null;
}   

private String hexToString(byte[] output) {
    char hexDigit[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
            'A', 'B', 'C', 'D', 'E', 'F' };
    StringBuffer buf = new StringBuffer();
    for (int j = 0; j < …
Run Code Online (Sandbox Code Playgroud)

java hex integer

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

如何在java中创建自定义监听器?

我想知道如何在java中设置我们自己的监听器.例如,我有一个函数,将数字从1增加到100.我想在值达到50时设置一个监听器.我怎么能这样做?请教我任何教程.

java interface listener observer-pattern

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

Switch Java问题:case表达式必须是常量表达式

我在switch/case语句中遇到问题.错误说:"案例表达式必须是常量表达式".我理解错误,我可以使用If解决它,但有人可以告诉我为什么case表达式必须在switch/case中保持不变.我的错误的代码示例:

public boolean onOptionsItemSelected(MenuItem item) {
    int idDirectory = ((MenuItem) findViewById(R.id.createDirectory)).getItemId();
    int idSuppression = ((MenuItem) findViewById(R.id.recycleTrash)).getItemId();
    int idSeeTrash = ((MenuItem) findViewById(R.id.seeTrash)).getItemId();

    switch (item.getItemId()) {
    case idDirectory:
        createDirectory(currentDirectory);
        break;
    case idSuppression:
        recycleTrash();
        break;
    case idSeeTrash:
        seeTrash();
        break;
    }

    return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的解释!!

java android switch-statement

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

Android Material Design:无法在当前主题中找到样式'toolbarStyle'

我试图使用自定义样式的Android 21中的工具栏小部件,但我无法摆脱这个错误: Failed to find style 'toolbarStyle' in current theme.

这是我的布局xml文件:

 <android.support.v7.widget.Toolbar
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/patient_toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:theme="@style/AppTheme.Patient" />
Run Code Online (Sandbox Code Playgroud)

这是患者主题:

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light">
    <!-- Customize your theme here. -->
</style>

<style name="AppTheme.Patient" parent="AppTheme">
    <item name="colorPrimary">@color/patient_primary</item>
    <item name="colorPrimaryDark">@color/patient_primary_dark</item>
    <item name="colorAccent">@color/patient_accent</item>
    <item name="toolbarStyle"></item> <!-- what values to put here -->
</style>
Run Code Online (Sandbox Code Playgroud)

我也尝试toolbarStyle在我的主题中添加项目,但我不知道可能的值.我错过了什么吗?

android android-theme material-design

21
推荐指数
2
解决办法
3万
查看次数

Java中的IncompatibleClassChangeError异常是什么?

我正在处理一个小应用程序,我正在尝试使用Hibernate Annotations来映射我的实体.当我遇到这个例外时,我想测试一切是否正常:

    Exception in thread "main" java.lang.ExceptionInInitializerError
 at fr.cc2i.intervention.dao.main.Main$HibernateUtil.<clinit>(Main.java:48)
 at fr.cc2i.intervention.dao.main.Main.test(Main.java:21)
 at fr.cc2i.intervention.dao.main.Main.main(Main.java:32)
Caused by: java.lang.IncompatibleClassChangeError: Implementing class
 at java.lang.ClassLoader.defineClass1(Native Method)
 at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
 at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
 at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
 at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
 at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
 at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
 at fr.cc2i.intervention.dao.main.Main$HibernateUtil.<clinit>(Main.java:44)
 ... 2 more
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下这个例外吗?这是我第一次看到它.这是我的应用程序的主要内容:

 package fr.cc2i.intervention.dao.main;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

import fr.cc2i.intervention.dao.beans.Client;
import fr.cc2i.intervention.dao.beans.Contrat;

public class Main {

 public static void test(){
  Client c = new Client();
  c.setCode("123343");
  c.setAdresse("fkhdhdmh");
  c.setNom("dgsfhgsdfgs"); …
Run Code Online (Sandbox Code Playgroud)

java hibernate hibernate-annotations

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

如何在Java中扩展最终类

这是我现在面临的问题.我有一个类,比方说Foo,这个类定义了一个getBar返回Bar实例的方法.该类Bar在内部定义Foo,并被声明public static final.我想要做的就是定义一个类MyFoo扩展Foo,但我也想对BarMyBar加入我自己的功能(方法,属性等).我也想getBar回来MyBar.

问题Bar是最终的.以下是我想要做的事情的说明:

public class Foo {

  Bar bar = new Bar();

  public Bar getBar(){
      return bar;
  } 

   ....

   public static final class Bar {

    } 
}
Run Code Online (Sandbox Code Playgroud)

我想做的是:

public class MyFoo extends Foo {


   public MyBar getBar(){ // here I want to return an instance of MyBar

   }

  public static final class MyBar …
Run Code Online (Sandbox Code Playgroud)

java static final

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

适用于Linux或C语言的无线API

我的团队和我正在一个基于无人机Parrot API的项目中工作.我们正在尝试找一个api来编写一个可以扫描无线网络并选择无人机ESSID的小程序.我们的主要语言是C,但Java也很受欢迎.

我试图查看是否存在iwlist/iwconfig命令的任何API,但我没有找到任何东西.有人可以帮助我吗?任何示例(代码示例)也将受到赞赏.

格拉西亚斯

c java linux wireless

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

用于逆向工程eclipse项目的UML工具

我目前正在研究Eclipse中的一个项目,但问题是这个项目非常大(很多代码,类,包等)并且没有文档记录.由于该项目是用Java编写的,我的想法是对项目进行反向工程,以便在UML中查看他的体系结构.你知道一个eclipse插件可以很容易地完成这个任务吗?感谢您的回答 !!

eclipse uml reverse-engineering

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

使用StAx解析XML文件时出错

我用StAx编写了一个xml解析器,用于解析从服务器接收的XML流.这是我的代码:

private Map<String, IUnitaryAction> parse(InputStream is) throws XMLStreamException {

    XMLInputFactory factory = XMLInputFactory.newInstance();
    XMLStreamReader reader = factory.createXMLStreamReader(is);
    boolean action = false;
    Map<String, IUnitaryAction> actionsMap = new HashMap<String, IUnitaryAction>();

    while(reader.hasNext()){
        int type = reader.next();
        switch(type){
        case XMLStreamReader.START_ELEMENT :
            action = reader.getLocalName().equals("action-description");
            break;

        case XMLStreamReader.CHARACTERS :
            if( action ){
                String act = reader.getText();
                System.out.println("Action trouvées " + act);

                String[] praxiscmd = act.split("_");
                if("CREATE".equals(praxiscmd[0])){
                    Create c = new Create(praxiscmd[1], praxiscmd[2], null);
                    actionsMap.put(praxiscmd[1], c);
                } else if("DELETE".equals(praxiscmd[0])){
                    Delete d = new Delete(praxiscmd[1],praxiscmd[2], null);
                    actionsMap.put(praxiscmd[1], …
Run Code Online (Sandbox Code Playgroud)

java xml stax

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