如何在edittext中用下划线替换字符串,并仅使下划线可编辑

时间:2015-05-22 20:14:53

标签: android

大家好我是Android的新手,我正在尝试开发和刽子手应用程序。我想用'__'替换字符,例如在“apple”的情况下我希望有类似“a_pl_”的东西。

我使用了edittext来获取字符串,并使用replace函数将字符串中的字符替换为'_',但它不起作用。我没有任何想法可以帮助我。

protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);      
    setContentView(R.layout.activity2);
    puztext = (EditText)findViewById(R.id.puztext);
    words = getResources().getStringArray(R.array.puzzlewords);

    Random rand = new Random();

    puztext.setText(words[rand.nextInt(words.length)]);

    String str = puztext.getText().toString();

    str.replace(' ', '_');
    puztext.setText(str);
}

4 个答案:

答案 0 :(得分:1)

使用现有的字母进行替换。检查一下,输入中可能没有空格。

答案 1 :(得分:0)

假设阵列中填充了包含空格的单词,则替换(''' _')调用实际上应该替换带下划线的那些。

那里有空位吗?显然,我认为你不打算只替换空格而是替换单词中的某些字符,以便进行混淆。

答案 2 :(得分:0)

请试试这个;

     String str = puztext.getText().toString();
     for(int i = 0; i <(any size you want); i++){
         int randomChar = rand.nextInt(str.length());
         str.replace(str.subString(randomChar, randomChar +1 ), '_');
     }

我认为这就是你想要的算法。

答案 3 :(得分:0)

参考你对我的回应的评论 你说

  

我得到的只是字符串本身,就像苹果的回归一样   苹果。没有字符替换为'_'

-

修复您在评论中提到的问题,您需要替换此行

str.replace(' ', '_');

由此

str  = str.replace(' ', '_');

这将替换。

这不是你的主要问题,你需要通过选择一些随机字符并用_替换它们来为你的应用程序添加一个逻辑 并将这些字符存储在某个数组中以查看用户是否做出了正确的选择