1

我是 android 编程的初学者,我找不到替换额外值的方法

 @Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    list_1= new Intent(this,Ekran1.class);
    list_2= new Intent(this,Ekran2.class);
    list_2.putExtra("iname", "2");
    if(position==0)
    {
        startActivity(list_1);
        if(list_2.getExtras().getString("iname")=="2")
        {
            Toast.makeText(getApplicationContext(), "iname=2", Toast.LENGTH_SHORT).show();
            stopService(list_2);
        }
        else if(list_2.getExtras().getString("iname") =="3")
        {
            Toast.makeText(getApplicationContext(), "iname=3", Toast.LENGTH_SHORT).show();
            stopService(list_2);
        }
    }
    else if(position==1)
    {
        list_2.putExtra("iname", "1");
        startActivity(list_2);
        stopService(list_1);
    }

我想将 iname 值更改为 1,但它始终为 2。

4

1 回答 1

1

首先,用equals()比较Strings

if (list_2.getExtras().getString("iname").equals("2"))

extras 中的值不会被替换。当 Activity 启动时,您可以添加额外的数据来传递数据。

很难理解你的意图,但如果必须在 Ekran 中更改名称应该打电话

startActivityForResult(ekranIntent, requestCode)

并分析返回的数据

onActivityResult()

在您当前的活动中被覆盖。

于 2014-01-14T16:13:42.450 回答