在Android中的edittext中从textview获取价值

知识的领域是无限的,我们的学习也是无限期的。这篇文章主要讲述在Android中的edittext中从textview获取价值相关的知识,希望能为你提供帮助。
我只是android开发的初学者。我正在开发一个应用程序,我必须检索由字符和整数组成的textview。我想从该textview中仅检索Edittext中的Integers。
我想要为Edittext检索的文本

< TextView android:id="@+id/txt" android:layout_width="118dp" android:layout_height="38dp" android:layout_marginLeft="38dp" android:text="Sun Glasses Rs.729" android:textColor="@color/colorAccent" android:textSize="15sp" />

Edittext在这里:
< EditText android:id="@+id/editTextAmount" android:layout_width="match_parent" android:layout_height="wrap_content" android:textAlignment="center" />

我试图实现这一点:
private EditText editTextAmount; private String paymentAmount; private String paymentAmount; editTextAmount = (EditText) findViewById(R.id.editTextAmount); amount=(TextView)findViewById(R.id.txt); editTextAmount.setText(amount.getText().toString()); paymentAmount = editTextAmount.getText().toString();

我尝试了一切,也遵循了许多教程,但没有得到我想要的结果。希望我能得到你们的帮助,我将非常感谢你的帮助。
答案
试试这个方式
String amount = amount.getText().toString(); String getNum = ExtractNumberFromString(amount); paymentAmount.setText(getNum); public static String ExtractNumberFromString(String cnvrtdDate){ String [] dateArray = cnvrtdDate.split("|"); StringBuilder sb = new StringBuilder(); StringBuilder sb1 = new StringBuilder(); for(int i=0; i< dateArray.length; i++) { boolean ItIs = isNumeric(dateArray[i]); if(ItIs) {sb.append(dateArray[i]); } else { sb1.append(dateArray[i]); } }System.out.println("Numbers="+sb); System.out.println("Characters="+sb1); returnsb.toString(); }public static boolean isNumeric(String str) { try { int d = Integer.parseInt(str); } catch(Exception nfe) { return false; } return true; }

另一答案试试这段代码:
String regex = "[0-9]+"; String data = https://www.songbingjia.com/android/amount.getText().toString(); Pattern pattern = Pattern.compile(regex); List< String> list = new ArrayList< String> (); Matcher m = pattern.matcher(data); String text=""; while (m.find()) { text+=","+m.group(); } editTextAmount.setText(amount.getText().toString());

另一答案您可以从编辑文本中提取字符串,然后使用正则表达式从字符串中提取数字。就像是
Pattern p = Pattern.compile("-?\d+"); Matcher m = p.matcher(editTextAmount.getText().toString()); while (m.find()) { System.out.println(m.group()); }

这将打印编辑文本中的所有数字。
“ - ?”允许它也捕获负数。你可以删除,因为我怀疑金额将是负数。
另一答案【在Android中的edittext中从textview获取价值】我的错。我只需要更改edittext的输入类型。
< EditText android:id="@+id/editTextAmount" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="number" android:textAlignment="center" />


    推荐阅读