如果您使用数组作为数据适配器的输入,那么您可以在 onItemClick 和 onItemLongClick 内部的位置访问数据
String yourArray[];
//putting your data
youArray = new String[]{"Item1","Item2","Item3"};
recyclerview.addOnItemTouchListener(new RecyclerItemClickListener(this, recyclerview, new RecyclerItemClickListener.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
Toast.makeText(Navigation.this, "" + position, Toast.LENGTH_SHORT).show();
String yourDesiredData = youArray[position];
//now you can fire intent with that data or start fragment transaction passing the data
if(yourDesiredData!=null){
Intent intent = new Intent(SignupActivity.this,LoginActivity.class);
intent.putExtra("desiredData",yourDesiredData);
startActivity(intent);
}
//Or if you want Fragment then
YourFragment fragment = new YourFragment();
Bundle arguments = new Bundle();
arguments.putString( "desiredData" , desired_string);
fragment.setArguments(arguments);
final FragmentTransaction ft =
getFragmentManager().beginTransaction();
ft.replace(R.id.content, fragment , FRAGMENT_TAG);
ft.commit();
}
@Override
public void onItemLongClick(View view, int position) {
Toast.makeText(Navigation.this, "Position " + position, Toast.LENGTH_SHORT).show();
String yourDesiredData = youArray[position];
//now you can fire intent with that data or start fragment transaction passing the data
Intent intent = new Intent(SignupActivity.this,LoginActivity.class);
intent.putExtra("desiredData",yourDesiredData);
startActivity(intent);
}
}));
您可以在活动中检索数据(在意图的情况下)
Intent receivedIntent = getIntent();
String data = intent.getStringExtra("desiredData")
或者如果使用片段,您可以像这样检索数据
Bundle arguments = getArguments();
String data = arguments.getString("desiredData");