2016-05-31 2 views
0

아래 코드를 사용하여 제목과 설명을 성공적으로 전달했지만 헤더 이미지를 전달하려고해도 아무 것도 발생하지 않습니다. 내 오류는 어디에 있습니까?클릭 한 내용을 기반으로 이미지 변경

MyPageHolder.java

public abstract class MyPageHolder extends RecyclerView.ViewHolder{ 

protected final Activity activity; 
protected MyPageAdapter adapter; 
public TextView txtTitle, txtDescription; 
public ImageView imgImage; 
public View view; 


public MyPageHolder(View v, Activity activity, MyPageAdapter adapter) { 
    super(v); 
    this.activity = activity; 
    this.adapter = adapter; 

    imgImage = (ImageView) v.findViewById(R.id.cardview_image); 
    txtTitle = (TextView) v.findViewById(R.id.cardview_title); 
    txtDescription = (TextView) v.findViewById(R.id.cardview_description); 
    view = (CardView) v.findViewById(R.id.card_view); 

    view.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      /*/ this is where the magic happens when clicked /*/ 


     } 
    }); 
} 


public void bind(MenuPageItems dataModel, Activity activity, final int position) { 
    final MenuPageItems m = (MenuPageItems)dataModel; 
    imgImage.setImageResource(m.image); 
    txtTitle.setText(m.title); 
    txtDescription.setText(m.description); 

    view.setOnClickListener(new View.OnClickListener() { 
     @Override public void onClick(View v){ 

      Intent cvIntent = new Intent(view.getContext(), EndpageActivity.class); 


      cvIntent.putExtra("endpageHeader", m.image); 


      // text to pass to endpage activity 
      cvIntent.putExtra("endpageTitle", m.title); 
      cvIntent.putExtra("endpageTheContent", m.description); 
      view.getContext().startActivity(cvIntent); 
     } 

    }); 

} 


} 

EndpageActivity.java

public class EndpageActivity extends AppCompatActivity { 

TextView t1; 
ImageView iv1; 


private void loadBackdrop() { 
    String uri = "@drawable/p400x200"; 
    // where backdropX.jpg (without the extension) is the file 
    int imageResource = getResources().getIdentifier(uri, null, getPackageName()); 
    final ImageView imageView = (ImageView) findViewById(R.id.endpage_header_image); 
    Drawable res = getResources().getDrawable(imageResource); 
    imageView.setImageDrawable(res); 
} 

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.endpage_layout); 

    Intent intent = getIntent(); 


    String sTitle = intent.getStringExtra("endpageTitle"); 
    String sTheContent = intent.getStringExtra("endpageTheContent"); 

    CollapsingToolbarLayout collapsingToolbar = 
      (CollapsingToolbarLayout) findViewById(R.id.endpage_header); 
    collapsingToolbar.setTitle(sTitle); 


    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    // this adds the back button arrow to the header 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

    iv1 = (ImageView) findViewById(R.id.endpage_header_image); 
    iv1.setImageDrawable(getResources().getDrawable(getIntent().getIntExtra("endpageHeader", 0))); 

    t1 = (TextView)findViewById(R.id.endpage_the_content); 
    t1.setText(sTheContent); 

    loadBackdrop(); 

} 
@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.sample_actions, menu); 
    return true; 
} 

} 

응용 프로그램 실행 만 내 텍스트 변경의 이미지 뷰는 여전히 내 자리 표시 자 이미지를 보이고있다. 그것은 또한 작동하지 않는 경우

답변

0

iv1.setImageResource(getIntent().getExtras().getInt("endpageHeader")); 

을 시도하십시오, 로그에.) (.의 getInt ("endpageHeader") 값을 getExtras 당신의 getIntent()를 인쇄하고는입니다 확인 'R.drawable.your_image`를 작성하십시오

관련 문제