我正在尝试从RecyclerView打开另一个活动。我不了解如何使用getattr(sf, "Lead").describe()
方法来启动新活动。我已使用该方法中的另一个按钮打开一个新活动,我想要做的就是打开一个相同的活动,但只是一个不同的活动。
我尝试将sendMessage()
方法插入侦听器。我已经尝试过使用意图。
sendMessage()
Recycler View适配器:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buildRecyclerView();
}
public void buildRecyclerView(){
mRecyclerView = findViewById(R.id.rvGoals);
mRecyclerView.setHasFixedSize(true);
mLayoutManager = new LinearLayoutManager(this);
mAdapter = new RVAdapter(mGoal);
mRecyclerView.setLayoutManager(mLayoutManager);
mRecyclerView.setAdapter(mAdapter);
mAdapter.setOnItemClickListener(new RVAdapter.OnItemClickListener() {
@Override
public void onItemClick(int position) {
mDrawerLayout = findViewById(R.id.nav_view);
mDrawerLayout.openDrawer(Gravity.START);
}
@Override
public void onAddClick(int position) {
sendMessage();
}
});
public void sendMessage(View view) {
Intent intent = new Intent(this,MainGoalInfo.class);
startActivityForResult(intent,1);
}
答案 0 :(得分:0)
您可以在setOnClickListener()
的{{1}}方法内执行所需的操作。您可以使用活动中的上下文初始化适配器:
GoalViewHolder
Recycler View适配器:
mAdapter = new RVAdapter(mGoal, this);
在您的public class RVAdapter extends RecyclerView.Adapter<RVAdapter.GoalViewHolder> {
private Context mContext;
...
public RVAdapter(List<Goals> goalsRVA, Context mContext){
this.goalsRVA=goalsRVA;
this.mContext=mContext
}
中:
GoalViewHolder
答案 1 :(得分:-1)
您可以从onbindViewHolder内部进行操作
您将致电
goalViewHolder。 itemView.setOnClickListener(new View.OnClickListener(){@Override public void onClick(View view){ //在这里您将开始活动,您需要一个上下文 mContext.startactivity
}}}});
在适配器构造函数中发送上下文