通过位置从列表视图到新活动(passing the position from listview t

2019-09-30 07:08发布

如何传递的值或所选择的项目的列表视图中,以一个新的活动塔的位置将使用该值来检索列表视图从数据库中的数据(在新的活性)

我有代码,它的工作原理,但总是传递一个空值已通过位置。

我的第一个活动代码:

 listView.setOnItemClickListener(new OnItemClickListener() {

          @Override
          public void onItemClick(AdapterView<?> parent,View view,
             int position, long id) {

           // ListView Clicked item index
           int itemPosition     = position;

           // ListView Clicked item value
           String  itemValue    = (String) listView.getItemAtPosition(position);

            // Show Alert HERE THE VALUE IS CORRECT-----
      //     Toast.makeText(getApplicationContext(),
      //        "Position :"+itemPosition+"  ListItem : " +itemValue , Toast.LENGTH_LONG)
      //      .show();
            Intent myIntent = new Intent(view.getContext(), ShowWhereToGo1.class); 
            myIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            myIntent.putExtra("id", itemPosition);
            startActivityForResult(myIntent, 0);

          }

     }); 

第二个活动:

         Bundle extras = getIntent().getExtras();

      String temp = extras.getString("id");
      Toast.makeText(getApplicationContext(),
                      "Position :"+temp , Toast.LENGTH_LONG)
                      .show();
     }

我也试图在第二个活动是代码,但仍然可以通过空值:

   Intent in = this.getIntent();
    String name = in.getStringExtra("id");

            Toast.makeText(getApplicationContext(),
            "Position :"+name , Toast.LENGTH_LONG)
            .show();

是否有任何其他的方式来传递和获取活动之间的值?

Answer 1:

采用

  Bundle extras = getIntent().getExtras();
  if (extras != null) 
  String temp = extras.getInt("id");

而不是extras.getString("id")因为您从ListView中点击传递整数



文章来源: passing the position from listview to new activity