我写了一个代码来制作一个下拉列表,里面有一些项目" 8" ," 12" ," 13" ......等 像这样的xml:
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/btn_dropdown"
android:spinnerMode="dropdown" />
现在我在同一布局中有一个具有此标记的edittext:
<EditText
android:id="@+id/etFName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" >
<requestFocus />
</EditText>
我想要的是当我选择8时,例如edittext字体大小为8,当我选择12时,edittext字体大小将为12,依此类推....
这是我的Graduation.java代码
private Spinner spinner;
private static final String[]paths = {"item 1", "item 2", "item 3"};
EditText etFName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.graduation);
/*spinner = (Spinner)findViewById(R.id.spinner);
ArrayAdapter<String>adapter = new ArrayAdapter<String> (Graduation.this,android.R.layout.simple_spinner_item,paths);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener((OnItemSelectedListener) this);*/
Spinner dropdown = (Spinner)findViewById(R.id.spinner);
String[] items = new String[]{"8", "12", "16", "18", "20", "24", "28"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, items);
dropdown.setAdapter(adapter);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
switch (position) {
case 0:
// Whatever you want to happen when the first item gets selected
break;
case 1:
// Whatever you want to happen when the second item gets selected
break;
case 2:
// Whatever you want to happen when the thrid item gets selected
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
我该如何填写评论行?
答案 0 :(得分:0)
etFName.setTextSize(TypedValue.COMPLEX_UNIT_SP,Integer.parseInt(items[position]));
答案 1 :(得分:0)
我相信你应该试试这个(我没有):
int fontSizeInt;
try
{
fontSizeInt = Integer.parseInt(items[position]);
}
catch (NumberFormatException e)
{
fontSizeInt = 12; // Default size.
}
etFName.setTextSize(TypedValue.COMPLEX_UNIT_SP, (float) fontSizeInt);
注意int
被投放到float
。请记住,你不想让NumberFormatException让你措手不及,无论你觉得多么安全。