Я хочу добавить фотографии в мое любимое занятие, когда пользователь нажимает на картинку. Пока я могу получить данные и отображать их, но по какой-то причине всякий раз, когда я нажимаю на изображение, он отображает понравившийся образ, однако, когда я перепроверяю любимое действие, нажимая на него, он показывает пустой. Вот небольшая блок-схема.Android: отправить данные из адаптера в Activity
imageOnTap
выполнен на уровне RecyclerAdapter
класс. У меня есть мои Favorite activity
и MainActivity
. Любая помощь будет оценена. Благодаря
Вот мой MyRecyclerAdapter
класс
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
holder.nameTxt.setText(albums.get(position).getName());
holder.img.setImageResource(albums.get(position).getImage());
//listener
holder.setItemClickListener(new ItemClickListener() {
@Override
public void onItemClick(View v, int pos) {
Toast.makeText(c,albums.get(pos).getName() + " ,added to favorite ",Toast.LENGTH_SHORT).show();
SharedPreferences settings = c.getSharedPreferences(PREFS_NAME,0);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("favorite",albums.get(pos).getImage());
editor.commit();
Toast.makeText(c,albums.get(pos).getName() + " ,added to favorite ",Toast.LENGTH_SHORT).show();
Intent intent = new Intent(c, favorite.class);
// intent.putExtra(Intent.EXTRA_TEXT, albums.get(pos).getImage());
c.startActivity(intent);
}
});
}
Вот моя любимая деятельность
public class favorite extends AppCompatActivity {
int favImage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_favorite);
ImageView displayImage = (ImageView) findViewById(R.id.movieImage);
SharedPreferences settings = getSharedPreferences(PREFS_NAME,0);
displayImage.setImageResource(settings.getInt("Favorite", 0));
// Intent intent = getIntent();
// if (intent.hasExtra(Intent.EXTRA_TEXT)) {
// favImage = intent.getIntExtra(Intent.EXTRA_TEXT,image);
// displayImage.setImageResource(favImage);
//
// }
}
}
Вот мой MainActivity
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_favorite) {
Intent intent = new Intent(this,favorite.class);
startActivity(intent);
}
, если (ID == R.id.nav_favorite) { Намерение Намерение = новый Намерение (это, favorite.class); startActivity (намерение); } у вас отсутствует значение намерения onNavigationItemSelected –
замените 'Intent.EXTRA_TEXT' своим собственным постоянным ключом, таким как MY_IMAGE_URL'. –
@AmrutBidri, вы имеете в виду, что я должен так измениться ->. intent.putExtra ("MyImage", albums.get (поз) .getImage()); – user7062312