0

나는 아래 ListView이며 다른 활동에서 클릭 한 항목 만 표시하고자합니다.클릭 목록보기 디스플레이

package com.sclick.govlistview; 

import android.content.Intent; 
import android.provider.ContactsContract; 
import android.support.v7.app.ActionBarActivity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.ImageView; 
import android.widget.ListView; 
import android.widget.TextView; 
import android.widget.Toast; 

import java.util.ArrayList; 
import java.util.List; 


public class MyActivity extends ActionBarActivity { 
    private List<Madaxda> madaxdu = new ArrayList<Madaxda>(); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_my); 
     MadaxList(); 
     MadaxListView(); 
     RegisterCallBack(); 

    } 

    private void MadaxList() { 
     madaxdu.add(new Madaxda("Hassan Sheik","Madaxweyne","MSC", 2, R.drawable.hassan)); 
     madaxdu.add(new Madaxda("Awali Sheik","Raysal wasaare","Doctor", 2, R.drawable.awali)); 
     madaxdu.add(new Madaxda("Abdullahi Godah Barre","Ministry of Interior and Federalism","Degree", 2, R.drawable.mi)); 
     madaxdu.add(new Madaxda("Abdirahman Duale Beyle","Ministry of Foreign Affairs","PHd", 2, R.drawable.ma)); 
     madaxdu.add(new Madaxda("Mohamed Sheikh Hassan","Ministry of Defence","Degree", 2, R.drawable.eel)); 
    } 

    private void MadaxListView() { 
     ArrayAdapter<Madaxda> adapter = new MyListAdapters(); 
     ListView list = (ListView) findViewById(R.id.madaxdaListView); 
     list.setAdapter(adapter); 
    } 
    private void RegisterCallBack() { 
     ListView list = (ListView)findViewById(R.id.madaxdaListView); 
     list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View viewClicked, 
            int position, long id) { 
       Madaxda m = madaxdu.get(position); 
       Intent intent = new Intent(MyActivity.this, Profile.class); 
       intent.putExtra("position", position); 
       startActivity(intent); 
       //String message = "You have clicked Mudanaha " + position + 
        // "oo magaciisu yahay " + m.getName() + "oo shaqadiisu tahay " 
        // + m.getBooska(); 
       // Toast.makeText(MyActivity.this,message,Toast.LENGTH_SHORT).show(); 

      } 
     }); 

    } 

    private class MyListAdapters extends ArrayAdapter<Madaxda> { 
     MyListAdapters() { 
      super(MyActivity.this, R.layout.lists, madaxdu); 
     } 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      View itemView = convertView; 
      if (itemView == null) { 
       itemView = getLayoutInflater().inflate(R.layout.lists, parent, false); 
      } 
      Madaxda m = madaxdu.get(position); 
      ImageView img = (ImageView) itemView.findViewById(R.id.item_icon); 
      img.setImageResource(m.getID()); 
      TextView magaca = (TextView) itemView.findViewById(R.id.magaca_qofka); 
      magaca.setText(m.getName()); 
      TextView shaqo = (TextView) itemView.findViewById(R.id.shaqada_qofka); 
      shaqo.setText(m.getBooska()); 
      TextView sano = (TextView) itemView.findViewById(R.id.inta_sano); 
      sano.setText("" + m.getYearsInService()); 
      TextView edu = (TextView) itemView.findViewById(R.id.education); 
      edu.setText(m.getEducation()); 

      return itemView; 


     } 

    } 

} 

여기 내 수신 활동

package com.sclick.govlistview; 

import android.app.Activity; 
import android.content.Context; 
import android.content.Intent; 
import android.graphics.BitmapFactory; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ImageView; 
import android.widget.TextView; 

import java.util.List; 

/** 
* Created by MacRail on 12/09/2014. 
*/ 
public class Profile extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.profile); 
     String position = getIntent().getStringExtra("position"); 

} 

    public View getView(final int POSITION, View convertView,ViewGroup parent){ 
     ImageView img; 
     TextView name; 
     TextView booskas; 
     TextView education; 
     TextView yearsInService; 
     View view = convertView; 
     Log.d("SCLICK","Here is ok"); 

     if(view == null){ 

      LayoutInflater la = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

      view = la.inflate(R.layout.profile,null); 
     } 
     img = (ImageView) findViewById(R.id.imageView1); 
     name = (TextView)findViewById(R.id.magaca_qofkas); 
     booskas = (TextView)findViewById(R.id.shaqada_qofkas); 
     education = (TextView)findViewById(R.id.educationka); 
     yearsInService = (TextView)findViewById(R.id.inta_sanood); 

     img.setImageBitmap(BitmapFactory.decodeByteArray(img.get(POSITION),0,img.get(POSITION).length)); 
     name.setText(name.get(POSITION)); 
     booskas.setText(booskas.get(POSITION)); 
     education.setText(education.get(POSITION)); 
     yearsInService.setText(yearsInService.get(POSITION)); 

     return view; 
    } 
} 

답변

0

당신이 int를 번들하지만, 문자열을 개별화하는 것으로 보인다.

int position = getIntent().getInt("position"); 
+0

도움을 주셔서 감사합니다. 문제를 해결할 수있었습니다. –

0

내가 당신이라면 나는 수신 데이터의 유형을 확인하려고합니다 :

이 라인을보십시오. 이론적으로는 int를 얻어야하지만 안전한 방법은 getIntent().getExtras()을 호출하여 내부에있는 번들을 가져온 다음 getInt ("position") 또는 get ("position")을 호출하여 원하는 것을 얻는 지 확인하는 것입니다.
번들이 null 인 경우 아무 것도없는 것이 분명합니다.