android EditText怎样获取输入的数字

android EditText怎样获取输入的数字,第1张

第一:要获取到输入的数字前必须获取到EditText中的所有数据,查看API,有如下方法

返回参数类型      方法名      方法的释义

Editable          getText()   Return the text the TextView is displaying

通过该方法可以返回TextView正在显示的文字,而返回值的类型是Editable,这个类型看上去比较陌生

再看看Editable的API,如下:

public interface

Editable

implements GetChars Spannable Appendable CharSequence

然后在CharSequence中有一个方法

abstract String       toString()     Returns a string with the same characters in the same order as in this sequence

然后就可以获得一个String对象,然后对String的 *** 作是不是方便多了,通过取出每一个字符判断是否为数字,代码如下:

String str=et_inputgetText()toString();

if(str != null && !""equals(str)){

    for(int i=0;i<strlength();i++){

    if(strcharAt(i)>=48 && strcharAt(i)<=57){//匹配数字

    str2+=strcharAt(i);

    }

}

Systemoutprintln(str2);

bbsetOnClickListener(

new ViewOnClickListener()

{

public void onClick(View view)

{

String s1=ttgetText()toString();

tvsetText(s1);

}

}

);

package comexampleqq;

import androidosBundle;

import androidappActivity;

import androidappAlertDialog;

import androidappDialog;

import androidcontentDialogInterface;

import androidcontentIntent;

import androidviewLayoutInflater;

import androidviewMenu;

import androidviewView;

import androidviewViewOnClickListener;

import androidwidgetButton;

import androidwidgetEditText;

public class MainActivity extends Activity {

private Button btn;

private EditText et;

private EditText et2;

@Override

protected void onCreate(Bundle savedInstanceState) {

superonCreate(savedInstanceState);

setContentView(Rlayoutactivity_main);

et = (EditText)findViewById(RideditText1);

et2 = (EditText)findViewById(RideditText2);

btn = (Button)findViewById(Ridbutton1);

btnsetOnClickListener(new OnClickListener(){

@Override

问题我自己解决了,发出来大家分享下子,我监听的事件如下:mEditTextlsetOnEditorActionListener(new onEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, keyEvent event) { Logd(TAG, mEditTextgetText()toString()); return false; }});如上方法,当在你按下键盘上的“完成”键时,就会打印出此时mEditText中的内容,也就达到我想要的目的了

您好:

package comexmythandroid;

public class ListEditorAdapter extends BaseAdapter {

private LayoutInflater mInflater;

private List<Map<String, Object>> mData;// 存储的EditText值

public Map<String, String> editorValue = new HashMap<String, String>();//

public ListEditorAdapter(Context context, List<Map<String, Object>> data) {

mData = data;

mInflater = LayoutInflaterfrom(context);

init();

}

// 初始化

private void init() {

editorValueclear();

}

@Override

public int getCount() {

return mDatasize();

}

@Override

public Object getItem(int position) {

return null;

}

@Override

public long getItemId(int position) {

return 0;

}

private Integer index = -1;

@Override

public View getView(int position, View convertView, ViewGroup parent) {

ViewHolder holder = null;

// convertView为null的时候初始化convertView。

if (convertView == null) {

holder = new ViewHolder();

convertView = mInflaterinflate(Rlayoutlistview_item, null);

holdername = (TextView) convertView

findViewById(Ridlist_item_name);

holdertitle = (TextView) convertView

findViewById(Ridlist_item_title);

holdervalue = (EditText) convertView

findViewById(Ridlist_item_inputvalue);

holdervaluesetTag(position);

holderuserkey = (TextView) convertViewfindViewById(Riduser_key);

holdervaluesetOnTouchListener(new OnTouchListener() {

@Override

public boolean onTouch(View v, MotionEvent event) {

if (eventgetAction() == MotionEventACTION_UP) {

index = (Integer) vgetTag();

}

return false;

}

});

class MyTextWatcher implements TextWatcher {

public MyTextWatcher(ViewHolder holder) {

mHolder = holder;

}

private ViewHolder mHolder;

@Override

public void onTextChanged(CharSequence s, int start,

int before, int count) {

}

@Override

public void beforeTextChanged(CharSequence s, int start,

int count, int after) {

}

@Override

public void afterTextChanged(Editable s) {

if (s != null && !""equals(stoString())) {

int position = (Integer) mHoldervaluegetTag();

mDataget(position)put("list_item_inputvalue",

stoString());// 当EditText数据发生改变的时候存到data变量中

}

}

}

holdervalueaddTextChangedListener(new MyTextWatcher(holder));

convertViewsetTag(holder);

} else {

holder = (ViewHolder) convertViewgetTag();

holdervaluesetTag(position);

}

Object value = mDataget(position)get("list_item_name");

if (value != null) {

holdernamesetText((String) value);

}

value = mDataget(position)get("list_item_title");

if (value != null) {

holdertitlesetText(valuetoString());

}

value = mDataget(position)get("user_key");

if (value != null) {

holderuserkeysetText(valuetoString());

} else {

holderuserkeysetText("-1");

}

value = mDataget(position)get("list_item_inputvalue");

if (value != null && !""equals(value)) {

holdervaluesetText(valuetoString());

} else {

String key = mDataget(position)get("user_key")toString();

String inputValue = editorValueget(key);

holdervaluesetText(inputValue);

}

holdervalueclearFocus();

if (index != -1 && index == position) {

holdervaluerequestFocus();

}

return convertView;

}

public final class ViewHolder {

public TextView name;

public TextView title;

public EditText value;// ListView中的输入

public TextView userkey;// 用来定义的标志性主键,可不用关心

}

}

以上就是关于android EditText怎样获取输入的数字全部的内容,包括:android EditText怎样获取输入的数字、android中:如何获取一个EditText中的值并显示到TextView中、Android编程如何获取edittext的值,再和一个数比较,新手,求完整Activity代码研等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9453043.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存