我定义了一个具有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)
但是当我启动应用程序时,我会得到一个不同的黑色共享图标.如何将共享图标设置为白色?
这是我的结果
我试图将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中设置我们自己的监听器.例如,我有一个函数,将数字从1增加到100.我想在值达到50时设置一个监听器.我怎么能这样做?请教我任何教程.
我在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)
谢谢你的解释!!
我试图使用自定义样式的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在我的主题中添加项目,但我不知道可能的值.我错过了什么吗?
我正在处理一个小应用程序,我正在尝试使用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) 这是我现在面临的问题.我有一个类,比方说Foo,这个类定义了一个getBar返回Bar实例的方法.该类Bar在内部定义Foo,并被声明public static final.我想要做的就是定义一个类MyFoo扩展Foo,但我也想对Bar与MyBar加入我自己的功能(方法,属性等).我也想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) 我的团队和我正在一个基于无人机Parrot API的项目中工作.我们正在尝试找一个api来编写一个可以扫描无线网络并选择无人机ESSID的小程序.我们的主要语言是C,但Java也很受欢迎.
我试图查看是否存在iwlist/iwconfig命令的任何API,但我没有找到任何东西.有人可以帮助我吗?任何示例(代码示例)也将受到赞赏.
格拉西亚斯
我目前正在研究Eclipse中的一个项目,但问题是这个项目非常大(很多代码,类,包等)并且没有文档记录.由于该项目是用Java编写的,我的想法是对项目进行反向工程,以便在UML中查看他的体系结构.你知道一个eclipse插件可以很容易地完成这个任务吗?感谢您的回答 !!
我用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)