我一直在尝试以编程方式将我的edittext设置为密码字段,如下所示:
方法1:
password.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
Run Code Online (Sandbox Code Playgroud)
方法2:
password.setTransformationMethod(PasswordTransformationMethod.getInstance());
Run Code Online (Sandbox Code Playgroud)
方法3:
password.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
Run Code Online (Sandbox Code Playgroud)
方法4:
public class MyPasswordTransformationMethod extends PasswordTransformationMethod {
@Override
public CharSequence getTransformation(CharSequence source, View view) {
return new PasswordCharSequence(source);
}
private class PasswordCharSequence implements CharSequence {
private CharSequence mSource;
public PasswordCharSequence(CharSequence source) {
mSource = source; // Store char sequence
}
public char charAt(int index) {
return '*'; // This is the important part
}
public int length() {
return mSource.length(); // Return default
}
public CharSequence subSequence(int start, int end) { …Run Code Online (Sandbox Code Playgroud) 我正在尝试一个简单的正则表达式执行.基本上我想确定我的字符串中是否有特殊字符,如果是,请检查字符串的每个字符是否有两个特定字符,即hypen和dot.
我似乎在第一位有一个问题,涉及确定我的字符串中是否有特殊字符.
下面是我尝试执行此操作的方法,然后是我遇到问题的字符串:
public static boolean stringValidity(String input) {
int specials = 0;
Pattern p = Pattern.compile("[^a-zA-Z0-9 ]");
Matcher m = p.matcher(input);
boolean b = m.find();
if (b) {
System.out.println("\nstringValidity - There is a special character in my string");
for (int i = 0; i < input.length(); ++i) {
char ch = input.charAt(i);
//if (!Character.isDigit(ch) && !Character.isLetter(ch) && !Character.isSpace(ch)) {
++specials;
System.out.println("\nstringValidity - Latest number of special characters is: " + specials);
if((ch == '-') | (ch == '.')) { …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用RectF和canvas.drawRoundRect()绘制一个圆角矩形.请参阅下面的代码:
package com.example.test;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.RelativeLayout;
import android.graphics.RectF;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Create main RL params
RelativeLayout.LayoutParams rlMainlayoutParams
= new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
// Create main relative layout
RelativeLayout rlMain = new RelativeLayout(this);
rlMain.setLayoutParams(rlMainlayoutParams);
//rlMain.setBackgroundResource(R.drawable.bgndlogin);
rlMain.setBackgroundColor(Color.WHITE);
RectF rectf = new RectF(200, 400, 200, 400);
CustomRectangle customRectangle = new CustomRectangle(this, rectf, 5, 5, "#FFFF00");
//
rlMain.addView(customRectangle);
setContentView(rlMain); …Run Code Online (Sandbox Code Playgroud) 在XML中,我试图绘制一个下拉三角形作为按钮的背景,但似乎无法绕过旋转的XML标签.
这是我的XML代码:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<rotate
android:fromDegrees="45"
android:toDegrees="45"
android:pivotX="80%"
android:pivotY="20%">
<shape
android:shape="rectangle" >
<solid
android:color="#FFCC00" />
</shape>
</rotate>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
这是XML的结果:

任何想法都表示赞赏.
我正在使用Amazon SimpleDB并尝试使用以下教程创建数据库.基本上它会抛出一个错误,即出现错误:java.lang.String无法强制转换为org.apache.http.HttpHost.完整的堆栈跟踪如下:
发生错误:java.lang.String无法强制转换为org.apache.http.HttpHost java.lang.ClassCastException:java.lang.String无法在org.apache.http.impl中强制转换为org.apache.http.HttpHost. client.DefaultRequestDirector.execute(DefaultRequestDirector.java:416)位于org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient. java:805)atg.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784)at com.xerox.amazonws.common.AWSQueryConnection.makeRequest(AWSQueryConnection.java:474)at com.xerox.amazonws .sdb.SimpleDB.makeRequestInt(SimpleDB.java:231)at com.xerox.amazonws.sdb.SimpleDB.createDomain(SimpleDB.java:155)at com.amazonsimpledb.SDBexample1.main(SDBexample1.java:19)
我的代码如下(注意我已将AWS访问ID和密钥替换为实际值):
public static void main(String[] args) {
String awsAccessId = "My aws access id";
String awsSecretKey = "my aws secret key";
SimpleDB sdb = new SimpleDB(awsAccessId, awsSecretKey, true);
try {
Domain domain = sdb.createDomain("cars");
System.out.println(domain);
} catch (com.xerox.amazonws.sdb.SDBException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
关于为什么会出现上述错误的任何想法.
我感谢任何帮助.
我有大量问题打包我的java程序,其中包含图像到jar转换为可执行文件.图像已用于程序和按钮的背景中.请参阅下图,其中显示了我希望转换为jar的程序.

如您所见,程序运行正常.我创建了相同的程序,没有自定义背景和自定义按钮,不包含图像,我成功将其打包到一个jar中,然后打包成.exe文件.
关于绘制我的背景,我这样做如下:
public void paintComponent(Graphics g) {
Image img = new ImageIcon("imgs/Bgnd1.jpg").getImage();
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
setLayout(null);
g.drawImage(img, 0, 0, null);
}
Run Code Online (Sandbox Code Playgroud)
关于使用图像创建我的4个自定义按钮,我正在执行以下操作:
// Prepare rollover images
ImageIcon F1 = new ImageIcon("imgs/btn_f1_not_selected.jpg");
ImageIcon F1rollOver = new ImageIcon("imgs/btn_f1_selected.jpg");
// Create F1 button
final JButton btnF1 = new JButton(F1);
//btnF1.setOpaque(false);
btnF1.setContentAreaFilled(false);
btnF1.setBorder(null);
btnF1.setBorderPainted(false);
btnF1.setFocusPainted(false);
btnF1.setRolloverIcon(F1rollOver);
Run Code Online (Sandbox Code Playgroud)
我尝试将图像放在bin文件夹中,并且为了创建背景,我改变了上述关于图像的声明/获取的方法.
public void paintComponent(Graphics g) {
String path = "Bgnd11.jpg";
java.net.URL imgURL = getClass().getResource(path);
Image img = new ImageIcon(imgURL).getImage(); …Run Code Online (Sandbox Code Playgroud) 抱歉,如果我的下面的问题听起来微不足道,但我正在努力解决"将char数组转换为字符串"的基本概念,以便在该方法中使用strstr().
基本上我有一个叫做数组的数组EUI_only[],它在我的程序的某个阶段动态填充,即
EUI_only[0] = A;
EUI_only[1] = B;
EUI_only[2] = C;
EUI_only[3] = D;
EUI_only[4] = E;
Run Code Online (Sandbox Code Playgroud)
我在程序的顶部声明EUI_only如下:
char EUI_only[];
Run Code Online (Sandbox Code Playgroud)
我可以确认EUI_only[]已成功填充,因为我在方法strstr()中使用它之前将其打印出来.
现在我有第二个数组receive_key_press_temporary_analysis_buffer,我打算在我的strstr()ie中使用,即包含类似于EUI_only中的字符的数组.
这个数组也在我的程序的某个点上动态填充,我可以在我使用它之前确认数组的内容是完整的,strstr()因为我已经打印了这个数组.
名为receive_key_press_temporary_analysis_buffer的数组内容如下所示:
receive_key_press_temporary_analysis_buffer[0] = 1;
receive_key_press_temporary_analysis_buffer[1] = 2;
receive_key_press_temporary_analysis_buffer[2] = C;
receive_key_press_temporary_analysis_buffer[3] = A;
receive_key_press_temporary_analysis_buffer[4] = B;
receive_key_press_temporary_analysis_buffer[5] = C;
receive_key_press_temporary_analysis_buffer[6] = D;
receive_key_press_temporary_analysis_buffer[7] = E;
receive_key_press_temporary_analysis_buffer[8] = 3;
receive_key_press_temporary_analysis_buffer[9] = 4;
Run Code Online (Sandbox Code Playgroud)
下面主要是我如何使用两个数组strstr():
char* is_eui_only_content_in_receive_key_press_analysis = strstr(receive_key_press_temporary_analysis_buffer, EUI_only);
printf("\n\rResult of is_eui_only_content_in_receive_key_press_analysis: %s\n\r", is_eui_only_content_in_receive_key_press_analysis);
Run Code Online (Sandbox Code Playgroud)
基本上当我打印 …