Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用户输入太长,alertdialog无法处理_Java_Android_Android Alertdialog - Fatal编程技术网

Java 用户输入太长,alertdialog无法处理

Java 用户输入太长,alertdialog无法处理,java,android,android-alertdialog,Java,Android,Android Alertdialog,有没有办法在警报对话框中处理长时间的用户输入?我有一个小的警报对话框,需要一些输入,每当字符串输入太长时,其他输入和文本视图都会被挤压。有没有办法将字符串输入放在另一行上,或者有办法包装其他文本字段?我直接从代码而不是XML创建alertdialog LinearLayout layout = new LinearLayout(this); EditText weight = new EditText(this); EditText mark = new EditText

有没有办法在警报对话框中处理长时间的用户输入?我有一个小的警报对话框,需要一些输入,每当字符串输入太长时,其他输入和文本视图都会被挤压。有没有办法将字符串输入放在另一行上,或者有办法包装其他文本字段?我直接从代码而不是XML创建alertdialog

    LinearLayout layout = new LinearLayout(this);
    EditText weight = new EditText(this);
    EditText mark = new EditText(this);
    TextView marktext = new TextView(this);
    marktext.setText("Mark");
    TextView weighttext = new TextView(this);
    weighttext.setText("Weight");
    mark.setInputType(InputType.TYPE_CLASS_NUMBER);
    weight.setInputType(InputType.TYPE_CLASS_NUMBER);

    //Assignment name input
    EditText workType = new EditText(this);
    workType.setInputType(InputType.TYPE_CLASS_TEXT);
    TextView workTypeText = new TextView(this);
    workTypeText.setText("Name of the work: ");

    weight.setId(99);
    mark.setId(100);
    workType.setId(9999);

    /*Spinner addworkspinner = new Spinner(this);
    ArrayAdapter<String> addworkadapter = new ArrayAdapter<String>(
            this, android.R.layout.simple_spinner_item, ClassManager.possiblework);
    addworkspinner.setAdapter(addworkadapter); */
    layout.addView(workTypeText);
    layout.addView(workType);
    layout.addView(marktext);
    layout.addView(mark);
    layout.addView(weighttext);
    layout.addView(weight);

    AlertDialog.Builder addwork = new AlertDialog.Builder(this);
    addwork.setTitle("Add a piece of work");
    addwork.setView(layout);

您可能希望为输入的文本字符编码一个限制,如果超出限制,则会更改行数。使用%模数将某一行中的字符数除以

这是关于
也可能有助于识别EditText中需要更改的内容。

是的,我在想,但问题是即使是小到8个字符的字符串也会溢出。如果单词不合适,可以尝试在每个a、e、i、o、u、y或双字母后面加一个破折号,如“ll”和“rr”。除非字符串在某一行中没有元音y、'rr'或'll',否则我们将遇到问题。它可能看起来像logi-\n逻辑、lo-\n逻辑,等等,其中\n表示行尾。