我想使用微调器设置一个值,然后在 onClick 方法中将远程 View TextView(在小部件上)的文本大小设置为所选值。我该怎么做?
谢谢
我已经尝试过:
String selected;
Context context = WidgetConfig.this;
static Spinner spinner;
...
spinner.setOnItemSelectedListener(this);
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
Log.v(TAG, "OnItemselected started");
switch (position) {
case 0:
selected = "10".toString();
Break;
}
}
public void onNothingSelected(AdapterView<?> arg0) {
}
View.OnClickListener mOnClickListener = new View.OnClickListener() {
public void onClick(View v) {
Log.v(TAG, "set remote view");
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
Log.v(TAG, "set txt size");
/* without this line*/ float number = Float.valueOf(selected.toString());
/* and this line, it runs fine */ views.setFloat(R.id.tvConfigInput, "setTextSize", number);
...
}
};
更新:
我声明了该字符串两次,所以我修复了这个问题,现在它没有崩溃,但它不起作用。 文本大小没有改变..该怎么办?
最佳答案
您选择的字符串为空,您确实在范围而不是全局变量中定义了选定的字符串。更改它,它应该可以工作
String selected = "0"; // defined outside the function scope
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
Log.v(TAG, "OnItemselected started");
switch (position) {
case 0:
selected = "10".toString();
Break;
}
}
float number = Float.valueOf(selected);
关于java - 单击按钮时,使用从 Spinner 中选择的值设置 TextView 的文本大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13481284/