【问题标题】:Create object android not final [closed]创建对象android不是最终的[关闭]
【发布时间】:2014-09-26 10:03:41
【问题描述】:

我有一个问题: 好吧,我有这个课:

class objectoA{
   int a;
   int b;

   objetoA(int tam, int longitud)
      {
         this.a=tam;
         this.b=longitud;
      }
}

另外,我有一个具有 Spinner、SeekBar 和按钮的 Activity。 我想单击按钮,此按钮捕获微调器和 seekbar 的值并将其放入 objetoA 构造函数中,但我不知道这样做,因为如果我将代码放入 setOnClickListener eclipse 会显示错误,如果我将代码放入 setOnClickListener , 对象放默认值。

所以,我已经声明:

objectoA ABC;

微调器代码:

spinnerw.setOnItemSelectedListener(new OnItemSelectedListener(){

    @Override
    public void onItemSelected(AdapterView<?> parent, View view,
            int position, long id) {
        tamw=Integer.parseInt(parent.getItemAtPosition(position).toString());               
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {
        // TODO Auto-generated method stub

    }

});

这是按钮代码:

        gen.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
--------------->ABC=new objectoA(tamw);
            }
        });

所以,当我将微调器值保存到 tamw 时,我想在按下按钮时创建对象。 我做了什么? 谢谢你!!

【问题讨论】:

  • 您需要发布更多相关代码。
  • 绝对不能叫你的int“long”。 long 是原始数据类型。
  • 哈哈!时间不长xD。好的,我要编辑帖子了。
  • 你可以只使用getter和setter

标签: java android xml class


【解决方案1】:

您不能像这样将局部变量访问到内部类中。 要访问 OnClickListener 中的 ABC 变量,您有两种解决方案:

  • 设为final。但是你不能实例化它。
  • 使其成为您的 Activity 的属性:

    public class MainActivity extends Activity {
        private objectoA ABC;
        /* your code */
    }
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 2012-06-08
    • 2020-12-24
    • 2014-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多