Android Activity调用自己

时间:2014-12-19 23:25:23

标签: android

假设我有一个Android Activity,并且我有一个与之关联的变量count

我致电Activity并在count+5

中发送putExtra()

现在我希望之前的Activities保留其count值。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

不清楚你想要做什么。这是你想要的行为吗?

将活动的启动模式指定为默认和标准。每次启动此活动时,都会创建该活动的新实例并将其置于堆栈中。每个活动实例都有成员" count"除非您手动修改该值,否则将保留其值。

答案 1 :(得分:0)

公共类MainActivity扩展ActionBarActivity实现OnItemClickListener {

public  ListView lv;
public ArrayList<String> items=new ArrayList<String>();
public static int flag=0;
public int Hello=0;
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    lv=(ListView)findViewById(R.id.listView);
    lv.setOnItemClickListener(this);
    items.add("123"); items.add("234");
    if(flag>0) {
        Intent i=getIntent();
        int pos=i.getExtras().getInt("shared");
        items.add(pos+"");
    }
    lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,items));

}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
        long id) {

    Intent intent=new Intent(MainActivity.this,MainActivity.class);
    flag++;
    ++Hello;
    intent.putExtra("shared",Hello);
    startActivity(intent);
}

现在每当我在一个活动中启动一个活动时,它将Hello的值取为0并递增它并且我总是在putExtra中放置1但是每当我回到上一个活动(关闭当前活动)并再次打开一个活动时将Hello作为1并将2附加到新窗口,即

Acticity 1:LListeView(123,234)

我在活动1和Acticity 2中打开了一个活动,我有ListView(123,234,1)

我在活动2和Acticity 3中打开了一个活动,我有ListView(123,234,1)

我关闭活动3并再次在Acticity 2中开启了一个活动,但这次是Listview的 Acticity 3是(123,234,2)

我不明白为什么Hello最终得到2

而不是我想要的

活动1 ListView:(123,234)

我在活动1和Acticity 2中打开了一个活动,我应该有ListView(123,234,1)

我在活动2和Acticity 3中打开了一个活动,我应该有ListView(123,234,2)

我关闭活动3并再次在活动2中打开一个活动,活动3应该有

ListView as(123,234,2),即与活动相对应的Hello值应保持不变