在同一活动内的方法之间传递变量

时间:2014-06-11 17:42:37

标签: variables android-sqlite

在MainActivity中,我有两种主要方法。一个是光标,另一个是微调器。在游标方法中,我从SQlite数据库中检索一些数据以用作变量。

MainActivity中的

            //reinserted EGG outside
            String EGG;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


                  .....
           private void gettree() {
        Cursor cursor = db.getBall();
        cur(cursor);                
            }}

        public  void cur(Cursor ur) {
             int orange = 0;
                    if (ur.moveToFirst()) {
            do {
              int apple = ur.getInt(0);
              orange = 0 + apple;
                       } while(ur.moveToNext());
        }
        ur.close();
             //the EGG variable
        int EGG = orange;
                 }}


            @Override
            public void onItemSelected(AdapterView<?> adapterView,
             View view, int i, long l) {

              //eclipse does not recognize EGG here
        Toast.makeText(this, EGG, Toast.LENGTH_SHORT).show();       
        Spinner clink = (Spinner)adapterView;

if(clink.getId() == R.id.dpz)
    {   TextView mysdp =(TextView) view;
        ....                
    }}
在DatabaseAdapter中

             public Cursor getBall() {

        String[] A = new String[] {"first"};


        String condition = "_id = '1'";
        Cursor e =  db.query(true, "maintable", A, 
                        condition, null, null, null, null, null);
        if (returnee != null) {         
            e.moveToFirst();
        }
        return returnee;
    }

我希望做的是使用最快和最有效的方法将EGG变量用于微调器的onItemSelected方法。我是android的新手,我不确定如何做到这一点。我尝试声明EGG变量,但它没有更新(事实上eclipse说它没有被使用)。

我是否必须重新访问getBall才能从onItemSelected方法中获取变量,我不知道该怎么做。我想我真的希望有一种更简单的方法来访问我在第一种方法中已经找到的EGG变量。

提前致谢。

1 个答案:

答案 0 :(得分:0)

正如Tenfour04所指出的那样,我已经在类之外声明了变量,并且可以在整个活动中看到它。