java - android edittext(数字验证)无法从具有 void 结果类型的方法返回值
问题描述
package com.example.crazywriteup.getbmi;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MaleActivity extends AppCompatActivity
{
EditText enm,ehgf,ehgi,ewg;
Button btnmale;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_male);
enm = (EditText)findViewById(R.id.mleditText);
ehgf = (EditText)findViewById(R.id.mleditText2);
ehgi = (EditText)findViewById(R.id.mleditText3);
ewg = (EditText)findViewById(R.id.mleditText4);
btnmale = (Button)findViewById(R.id.btnmlsubmit);
btnmale.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
if(enm.getText().toString().isEmpty())
{
Toast toast = Toast.makeText(getApplicationContext(), "PLS FILL NAME",Toast.LENGTH_SHORT);
toast.setGravity(Gravity.TOP|Gravity.CENTER, 0, 0);
toast.show();
}
else
{
// Nothing
ehgf.requestFocus();
}
}
});
public boolean isNum(String val)
{
boolean check = false;
String no = "\\d*\\.?\\d+";
CharSequence inputstr = val;
Pattern pte = Pattern.compile(no,Pattern.CASE_INSENSITIVE);
Matcher matcher = pte.matcher(inputstr);
if(matcher.matches())
{
check = true;
}
return check;
}
}
}
我正在研究 android number textbox () 我想将范围设置为 1 到 7,但我在编写代码时遇到了困难。它总是显示错误cannot return a value from a method with void result type
。我是初学者,对编程了解不多。
解决方案
该onCreate()
方法return void
和您正在尝试返回boolean
您需要在isNum()
外部创建您的方法onCreate()
示例代码
public class MaleActivity extends AppCompatActivity
{
EditText enm,ehgf,ehgi,ewg;
Button btnmale;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_male);
enm = (EditText)findViewById(R.id.mleditText);
ehgf = (EditText)findViewById(R.id.mleditText2);
ehgi = (EditText)findViewById(R.id.mleditText3);
ewg = (EditText)findViewById(R.id.mleditText4);
btnmale = (Button)findViewById(R.id.btnmlsubmit);
btnmale.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
if(enm.getText().toString().isEmpty())
{
Toast toast = Toast.makeText(getApplicationContext(), "PLS FILL NAME",Toast.LENGTH_SHORT);
toast.setGravity(Gravity.TOP|Gravity.CENTER, 0, 0);
toast.show();
}
else
{
// Nothing
ehgf.requestFocus();
}
}
});
}
public boolean isNum(String val)
{
boolean check = false;
String no = "\\d*\\.?\\d+";
CharSequence inputstr = val;
Pattern pte = Pattern.compile(no,Pattern.CASE_INSENSITIVE);
Matcher matcher = pte.matcher(inputstr);
if(matcher.matches())
{
check = true;
}
return check;
}
}
推荐阅读
- sql - Presto 数组包含一个喜欢某种模式的元素
- c# - 计算网格上的最短路径
- javascript - $.getJSON 在 for 循环中没有 let 语句以实现浏览器兼容性
- acl - Syslog 用户能够通过 ACL 读取文件,但 rsyslog 进程不是
- mysql - 在ubuntu中安装xampp后首次打开phpmyadmin时phpmyadmin没有连接
- c# - 方法阻塞 UI 线程
- c# - 修改文件权限 .NET 适用于 Windows 10,但不适用于 Server 2008
- php - php simplexml 在两个 xml 文档之间查找/替换
- sql - 基于当天的查询条件(周六/周日应该返回周五的值)
- html - 如何编写一个仅在屏幕垂直翻转时出现在移动设备上并在水平翻转时消失的弹出文本框?