1

리스트 뷰에서 선택된 아이템의 값이나 위치를 새로운 액티비티로 전달할 수 있습니까? 그 값을 사용하여리스트 뷰의 데이터베이스에서 데이터를 검색합니다 (새 액티비티에서)리스트 뷰에서 새 액티비티로 위치 이동

나는 그것이 작동하지만 항상 전달 된 위치에 null 값을 전달하는 코드가 있습니다.

제 활동 내 코드 :

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(); 

활동간에 값을 전달하고 검색하는 다른 방법이 있습니까? 당신이 통과되기 때문에

답변

3

사용

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

대신 extras.getString("id")의 ListView에서 정수 http://developer.android.com/reference/android/content/Intent.html (

+0

[의도 문서 도구]를 클릭합니다). 'Flags'를 확인하고 싶을 수도 있습니다. ρяσѕρєя K가 더 잘 대답 할 수도 있지만'addFlags()'후에'setFlags()'를 호출하면'setFlags()'의'Flags' 만 사용됩니다. – codeMagic

+0

문자열 자체 (선택한 항목)를 전달하고 데이터베이스의 해당 목록을 전달할 수 있습니까? – user2870902

관련 문제