2013-06-21 2 views
1

보기 호출기 응용 프로그램이 제대로 작동합니다. 뷰 호출기에는 스 와이프 한 번에 하나씩 표시된 배열에있는 여러 데이터 문자열이 포함되어 있습니다. 다음은 보기 호출기에서 다른 활동으로 데이터 전달

/*MainActivity*/ 
public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     // Get the view from viewpager_main.xml 
     setContentView(R.layout.activity_main); 

     btn = (Button) findViewById (R.id.button1); 


     item = new String[] { "Apple", "Movie", "Melon", "pawpaw", 
       "Jungle", "Forest" }; 



     // Locate the ViewPager in viewpager_main.xml 
     viewPager = (ViewPager) findViewById(R.id.pager); 
     // Pass results to ViewPagerAdapter Class 
     adapter = new ViewPagerAdapter(this, item); 
     // Binds the Adapter to the ViewPager 
     viewPager.setAdapter(adapter); 

     btn.setOnClickListener(new View.OnClickListener() { 

        @Override 
        public void onClick(View arg0) { 
         // TODO Auto-generated method stub 
         Intent i = new Intent(getApplicationContext(), ContentActivity.class); 
         i.putExtra("Currentitem", item[0].toString()); 
         startActivity(i); 
        } 
       }); 


    } 

는 ViewPagerAdapter 클래스를 사전

에서

public class ViewPagerAdapter extends PagerAdapter { 
    // Declare Variables 
    Context context; 
    String[] item; 
    LayoutInflater inflater; 

    public ViewPagerAdapter(Context context, String[] item) { 
     this.context = context; 
     this.quote = item; 
    } 


    @Override 
    public boolean isViewFromObject(View view, Object object) { 
     return view == ((RelativeLayout) object); 
    } 

    @Override 
    public Object instantiateItem(ViewGroup container, int position) { 

     TextView item; 

     inflater = (LayoutInflater) context 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View itemView = inflater.inflate(R.layout.activity_view_pager_adapter, container, 
       false); 


     txtitem = (TextView) itemView.findViewById(R.id.quote); 


     txtitem.setText(quote[position]); 




     ((ViewPager) container).addView(itemView); 

     return itemView; 

감사

+0

'item [0] .toString()'은 항상 배열 (이 경우 Apple)의 첫 번째 항목을 전달합니다. – Rajesh

+0

지금까지 내가 가지고있는 것입니다. 화면의 현재보기에있는 항목을 전달할 코드가 필요합니다. "Apple" – Richmahnn

+0

그래서 다음 활동에서 무엇을 얻을 수 있습니까? –

답변

0

이 있습니다 : 나는 현재의 콘텐츠를 여기에 또 다른 활동에 전달해야 클릭 버튼을 나의 코드 잘 작동해야합니다.

btn.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View arg0) { 

      int currentItem =viewPager.getCurrentItem(); 

      Intent i = new Intent(getApplicationContext(), ContentActivity.class); 
      i.putExtra("Currentitem", item[currentItem].toString()); 

      startActivity(i); 
    } 
    }); 

+0

완벽하게 작동합니다. – Richmahnn

관련 문제