【发布时间】:2015-10-02 13:55:42
【问题描述】:
我在 AlertDialog 中动态创建 EditText 并希望限制显示的行数。目前,EditText 会随着每个回车保持垂直扩展。这会导致对话框按钮在某个点之后不可见。我已将代码隔离为以下内容:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b = (Button) findViewById(R.id.button);
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext());
EditText input = new EditText(v.getContext());
input.setLines(4);
//input.setMaxLines(4);
input.setSingleLine(false);
input.setGravity(Gravity.TOP);
//input.setVerticalScrollBarEnabled(true);
builder.setView(input);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) { }
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) { }
});
AlertDialog d = builder.create();
d.show();
}
});
}
}
我很乐意 a) 限制文本行数或 b) 在 X 行之外出现一个滚动条。
我尝试在 EditText 上设置一些属性,包括“setMaxLines”、“setHeight”和“setVerticalScrollBarEnabled”,但这些都不起作用。
我意识到存在一些针对类似问题的现有建议,但没有在动态创建 EditText 并在 AlertDialog 中创建的地方。任何帮助或建议将不胜感激。
【问题讨论】:
-
看我的回答。希望对你有帮助。