Use of unresolved identifier 'myUser'
我已添加 for(int l=0;l<c.getCount();l++)
{
EditText etpob = new EditText(this.getActivity());
etpob.setInputType(InputType.TYPE_CLASS_NUMBER);
int po=Integer.parseInt("1" + c.getInt(3)) ;
etpob.setId(po);
etpob.setHint("POB");
etpob.setText("");
etpob.setTextSize(15);
etpob.setVisibility(View.VISIBLE);
etpob.setLayoutParams(new LinearLayout.LayoutParams(0, 50, 15));
etpob.setGravity(Gravity.RIGHT);
}
以上是我的代码,但它的分辨率因不同类型的屏幕而失败,在使用样式的布局中我们可以将其更改。
答案 0 :(得分:1)
您可以使用尺寸来设置动态生成的edittext的宽度
int pixels = 15; // use dimen here
float scale = getContext().getResources().getDisplayMetrics().density;
float dips = pixels / scale;
所以,
etpob.setLayoutParams(new LinearLayout.LayoutParams(0, pixels , pixels ));
或者如果需要你可以设置维度而不是你可以这样做
的getContext()getResources()getDimension(R.dimen.activity_horizontal_margin)。; //设置所需分辨率的尺寸大小
答案 1 :(得分:0)
你也可以这样做。
在样式文件中定义参数并在代码中使用它。
请查看以下链接以供参考
How to retrieve style attributes programmatically from styles.xml
答案 2 :(得分:0)
将editText包含在match_parent
Point size = new Point();
getWindowManager().getDefaultDisplay().getSize(size);
width = size.x;
并将宽度设置为EditText
editText.setWidth(width);
答案 3 :(得分:0)
如果要在代码中使用静态整数来表示EditText的大小,则必须使用不同大小的values文件夹。 在res文件夹中创建这些文件夹:values-small,values-normal,values-large,values-xlarge。 在这些文件夹中创建一个具有Integer值的资源文件。如下所示
etpob.setLayoutParams(new LinearLayout.LayoutParams(0, getResources().getInteger(R.integer.edittext_width), getResources().getInteger(R.integer.edittext_height)));
您可以在这些文件夹中设置具有相同名称但值不同的值。 那么,你必须在你的代码中使用它:
{{1}}
好运。
答案 4 :(得分:0)
etpob.setLayoutParams(new LinearLayout.LayoutParams(0, ConvertPixels(50), ConvertPixels(15)));
public int ConvertPixels(int ht)
{
int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,ht, getActivity().getResources().getDisplayMetrics());
return height;
}
使用现有的实用方法构建,名为TypedValue.applyDimensions(int,float,DisplayMetrics)