ItemPriceAdapter类
从这个适配器类中,我想使用意图将值传递给另一个活动。我在代码中找不到问题,因此请帮助我确定从此适配器类向其他活动发送一些值。下面是我的代码:
holder.like.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (holder.like.isChecked()){
int likecount = 0;
likecount++;
Intent intent = new Intent(mcontext, ItemDetailActivity.class);
intent.putExtra("Likes", likecount+"");
}
}
});
}
当我单击此喜欢图标时,我想增加喜欢的数量并将这些喜欢发送到另一个活动,以显示该商品给出了多少个喜欢。
ItemDetailActivity类
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_item_detail);
databaseHelper = new DatabaseHelper(this);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
String like = getIntent().getStringExtra("Likes");
Toast.makeText(this, like+"", Toast.LENGTH_SHORT).show();
}
});
我的吐司面包中的值不为零。
答案 0 :(得分:1)
您错过了startActivity(intent)
,请尝试
if (holder.like.isChecked()){
int likecount = 0;
likecount++;
Intent intent = new Intent(mcontext, ItemDetailActivity.class);
intent.putExtra("Likes", likecount+"");
context.statrActivity(intent);
}
答案 1 :(得分:0)
您已经创建了一个Intent,但是您并未启动它。
确保您使用先前创建的意图调用startActivity。
答案 2 :(得分:0)
请像这样更正您的代码
Intent intent = new Intent(mcontext, ItemDetailActivity.class);
intent.putExtra("Likes", likecount+"");
mcontext.startActivity(intent);
然后在onCreate()中执行此操作
String like = getIntent().getExtras().getString("Likes");
答案 3 :(得分:0)
您需要在适配器中传递context
才能启动Intent
if (holder.like.isChecked()){
int likecount = 0;
likecount++;
Intent intent = new Intent(mcontext, ItemDetailActivity.class);
intent.putExtra("Likes", likecount+"");
mContext.startActivity(intent);
}
答案 4 :(得分:0)
这是一个非常老的问题,但我想我有一个可以帮助您的答案。
因此,由于您不想在“赞”按钮startActivity(intent)
的偶数中onClick(View v)
,因此,您必须将整体喜欢存储在sharedPreference或数据库中,然后将其取回{{ 1}}中您喜欢的活动。我建议使用sharedPreference。