如何在用户输入换行

时间:2018-01-09 16:01:00

标签: java android

我的活动中有一个多行的editText。我想要的是用户输入新行/下一行/输入的ecerytime,应该自动生成一个子弹。我该怎么办?以下是预期输出的示例:

• Item 1 (user presses enter / new line)
• 

2 个答案:

答案 0 :(得分:1)

您可以添加一个字符来执行此操作。

•= \u2022
●= \u25CF

您应该可以在编辑框中添加一个。

yourBox.setOnKeyListener(new View.OnKeyListener() {
    @Override public boolean onKey (View v,int keyCode, KeyEvent event){
        if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
            String myString = yourBox.getText().toString();
            yourBox.setText("\u25CF " + myString);
        }
        return false;
    }
});

答案 1 :(得分:1)

我不确定的是你是否还希望第一行自动获得子弹。试试这个以获得新行中的子弹:

final EditText et = findViewById(R.id.edittext);
et.setOnKeyListener(new View.OnKeyListener() {
    @Override
    public boolean onKey(View view, int i, KeyEvent event) {
        // onKey is fired twice, we filter one out
        if (event.getAction()!=KeyEvent.ACTION_UP) {
            return false;
        }

        if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
            String oldString = et.getText().toString();
            String newString =  oldString + "\u25CF";
            et.setText(newString);
            et.setSelection(et.getText().length());
        }
        return false;
    }
});
相关问题