在按钮单击时,使用从微调器中选择的值设置TextView的文本大小

时间:2012-11-20 20:11:28

标签: java android string spinner

我想用微调器设置一个值,然后在我的onClick方法中将远程视图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);

        ...

        }
            };

更新:

我宣布了两次字符串,所以我修复了它,现在它没有崩溃,但它不起作用。 文字大小没有改变..该怎么办?

2 个答案:

答案 0 :(得分:1)

您选择的字符串为null,您确实在范围中定义了所选字符串而不是全局变量。改变它,它应该工作

    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);

答案 1 :(得分:0)

您的答案如下:

WidgetConfig.java中的第254行正在调用null对象上的方法。

11-20 21:07:29.018: E/AndroidRuntime(2547): java.lang.NullPointerException
11-20 21:07:29.018: E/AndroidRuntime(2547):     at com.harteg.NotesWidgetPro.WidgetConfig$1.onClick(WidgetConfig.java:254)