0

我想用微调器设置一个值,然后在我的 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);

        ...

        }
            };

更新:

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

4

2 回答 2

1

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

    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);
于 2012-11-20T20:17:58.220 回答
0

您的答案如下:

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

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)
于 2012-11-20T20:14:04.977 回答