逐字获取EditText值

Get EditText value word by word

请有人帮我解决这个问题。我是一名新手程序员,我正在尝试构建一个示例 android 项目,用于从文本字段中的文本中提取电子邮件。 .xml 文件已到位,但 mainActivity 是问题所在。

请看下面的代码,看看问题所在。

import android.app.*;
import android.os.*;
import android.view.*;
import android.content.*;
import android.widget.*;
import java.util.*;

public class MainActivity extends Activity 
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                                                 WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.main);
    }

    public void OnExtractButtonClick(View view)
    {
        EditText mainEditText1=(EditText)findViewById(R.id.mainEditText1);
        String txt = mainEditText1.getText().toString();     //Here, this code reads the
                                                                                               //whole input in the text 
                                                                                               //field (mainEditText1)...
     /* ..and that is my problem is at this point. How do i get to read the contents of 
       the text field(mainEditText1) word after word, (like .next() method does, as it 
       can only read input in the string till the next space and not all the input in
       the string.)
     */

       if  (txt.contains("@"))
       {
            Toast.makeText(MainActivity.this,"Let's see:  " +txt,
            Toast.LENGTH_LONG).show();
        }
    }
}

谢谢大家

使用 String.split() 将您的文本拆分成单词:

String[] words = s.split("\s+");
for(String word : words) {
    // Do what you want with your single word here
}

注:
表达式 \s+ 是一个 Regular Expression,它将用空白字符拆分字符串。