确定一项活动是否刚刚开始

时间:2010-10-24 09:39:50

标签: android

我有2项活动。

活动1是'主页',它由一个微调器组成。

在活动1中选择了微调器中的项目后,将启动活动2.项目的值也将传递到活动2中。

Actvity 2也具有与Actvity 1相同的微调器。

我想创建一个变量(在下面的代码中引用为TABLE_NAME),其值将是在活动2初始启动时在活动1中进行的选择,但之后变量值将是选择的值在活动2中。

是否有一种简单的方法来确定某项活动是否刚刚开始?

我试图在下面的代码中显示我想要的内容:

public class MyOnItemSelectedListener implements OnItemSelectedListener {

    public void onItemSelected(AdapterView<?> parent,
        View view, int pos, long id) {          

            if(this activity was just started)
            {Intent sender=getIntent();
        String TABLE_NAME=sender.getExtras().getString("TABLE_NAME");}
            else
            {TABLE_NAME = parent.getItemAtPosition(pos).toString();}            


        Cursor cursor = getStats(TABLE_NAME);             

        showStats(cursor);

    }

    public void onNothingSelected(AdapterView<?> parent) {
      // Do nothing.
    }
}

2 个答案:

答案 0 :(得分:0)

如果这是在android(这是帖子上的标签)中,你可以在'onCreate()'方法中放置一个钩子,在该方法中保存你在Database表中的活动。每次创建/重新创建活动时都会调用onCreate方法。

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //this is where you would identify the activity has been called, perhaps spinning off a thread to handle a database call:)
}

答案 1 :(得分:0)

以下代码......

  

Intent sender = getIntent();字符串
  TABLE_NAME = sender.getExtras()的getString( “TABLE_NAME”);

...应该从onItemSelected所选功能移出,而是在您的活动2的onCreate功能中完成。

当然,在执行此操作时,您必须在getStats完成此操作后调用showStats / onCreate(或者最好将这两个重构为单独的功能,因为您将从onCreateonItemSelected)调用此功能。