我想验证EditText中引入的电子邮件,以及我已经拥有的代码:
final EditText textMessage =(EditText)findViewById(R.id.textMessage);
final TextView text =(TextView)findViewById(R.id.text);
textMessage.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
if (textMessage.getText().toString().matches("[a-zA-Z0-9._-]+@[a-z]+.[a-z]+") && s.length() > 0)
{
text.setText("valid email");
}
else
{
text.setText("invalid email");
}
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {}
});
Run Code Online (Sandbox Code Playgroud)
问题是当我在"@"之后引入3个字符时,它会显示消息"有效电子邮件",当我在介绍完整的电子邮件时它必须出现.
有什么建议吗?
谢谢你们!
我正在检查JSON字符串中的对象是否存在使用此:
JSONObject json = null;
try {
json = new JSONObject(myJsonString);
} catch (JSONException e) { e.printStackTrace(); }
if(json.has("myObject")) System.out.println("EXISTS");
else System.out.println("DOESN'T EXIST");
Run Code Online (Sandbox Code Playgroud)
当我尝试检查子对象是否存在时,会出现问题.例如:
...,"queue":{"building":{"q0":{"id":177779,...
Run Code Online (Sandbox Code Playgroud)
队列总是存在并且也在构建,但是q0并不总是存在.那么,我该如何检查q0的存在?并且,有没有办法使用Gson库检查它?
先感谢您!
正如我在标题中所说,当我使用setProgressDrawable时,它会填满整个SeekBar:如果进度为34%,则进度显示为100%但拇指显示正确的百分比34%.我不知道可能是什么问题......
done.setProgressDrawable(getResources().getDrawable(R.drawable.seekbar_progress));
done.setThumb(getResources().getDrawable(R.drawable.seekbar_thumb));
Run Code Online (Sandbox Code Playgroud)
seekbar_progress.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<stroke android:width="15dp" android:color="#52a8ec"/>
Run Code Online (Sandbox Code Playgroud)
seekbar_thumb.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#ffffffff" android:endColor="#ff585858" android:angle="270"/>
<size android:height="17dp" android:width="5dp"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
任何的想法?
先感谢您!
我有一个问题,这是我用Android开发近三年来从未有过的问题...
我想拍照,拍完照片后,EditText
活动的s变得清晰.我在做什么设置的值EditText
,以Strings
使用getText().toString()
拍照后恢复它们.
字符串与数据完美地存储在一起,但是当我使用时setText
,它不起作用......奇怪的是它setHint
有效!
怎么会这样?
这是我正在使用的代码:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
// Image captured and saved to fileUri specified in the Intent
grabImage(imgView);
for (int u = 0; u <= 2; u++)
{
if (savedImgs[u].equals(""))
{
imgs = u + 1;
savedImgs[u] = photo.toString();
break;
}
}
/*Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); ---> It …
Run Code Online (Sandbox Code Playgroud) 我想在另一个字符串数组中创建一个字符串数组,如下所示:
<string-array name="names">
<string-array name="man">
<item>Jake</item>
</string-array>
<string-array name="woman">
<item>Loise</item>
</string-array>
</string-array>
Run Code Online (Sandbox Code Playgroud)
但我不知道如何访问主字符串数组中的字符串数组。在这样做之前,我已将所有名称组织在同一个字符串数组中,并以这种方式访问:
String names[] = res.getStringArray(R.array.names);
Run Code Online (Sandbox Code Playgroud)
但现在我需要对数据进行分类。如何访问 SUB 字符串数组?
先感谢您!
我动态创建不同的按钮,如下所示:
for (int toShow = 1; toShow <= nShips; toShow++)
{
btn = new Button(this);
btn.setBackgroundResource(shipDrawable.get(ima));
btn.setLayoutParams(params);
row[pos].addView(btn);
btn.setId(shipId.get(ima));
if (row[pos].getChildCount() == 3) pos++;
ima++;
}
Run Code Online (Sandbox Code Playgroud)
我需要知道每个按钮的身份,因为彼此有不同的动作.然后,我尝试这样设置onClickListener
:
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View btn) {
switch(btn.getId()){
case 1000: System.out.println("FIRST");
break;
case 1004: System.out.println("FOURTH");
break;
}
}
});
Run Code Online (Sandbox Code Playgroud)
但它不起作用.似乎onClickListener
唯一影响最后一个项目的创建.如果我创建四个按钮,只有第四个按钮会有一个onClickListener
.
如何让我的点击监听器工作?
我需要知道一个对象是否存在于JSON字符串中,并根据该对象的存在执行不同的操作.如果它不存在,我想省略该对象,因为它抛出NullPonterException.我尝试使用if但没有成功......有人能告诉我如何检查对象的存在?
先感谢您!
我正在创建一个包含 4 个不同文件的 MKV 容器:
为此,我使用以下ffmpeg
脚本:
ffmpeg -i video.mp4 -i audio_es.mp4 -i audio_en.mp4 -i subtitles.ass \
-map 0:v -map 1:a -map 2:a -map 3:s \
-metadata:s:a:0 language=spa \
-metadata:s:a:1 language=eng \
-metadata:s:s:0 language=spa -disposition:s:0 -default \
-default -c:v copy -c:a copy -c:a copy -c:s copy result.mkv
Run Code Online (Sandbox Code Playgroud)
看起来result.mkv
很棒,一切都按预期工作,除了一件事:字幕仍然设置为默认轨道,因此 VLC 等播放器会自动显示它们。我已经尝试了很多不同的方法来避免旗帜发生这种情况disposition
,但我无法让它发挥作用。
我应该如何修改脚本以使 MKV 的字幕轨道不被标记为default
?
提前致谢!