我是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。

最佳答案

首先,将字符串与equals()比较

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


附加中的值不能替换。
在启动“活动”时,您需要投入额外的精力来传递数据。

很难理解您的意图,但是如果必须在伊克兰(Ekran)中更改iname,您应该打电话给

startActivityForResult(ekranIntent, requestCode)


并分析返回的数据

onActivityResult()


在您当前的活动中覆盖。

10-06 03:40