У вас может быть несколько вариантов решения этой проблемы:
Опция 1:
Если вы хотите запустить действие «ProfilWarehouseActivity» из адаптера, тогда вам нужно передать «EmailHolder» из «WarehouseActivity» в адаптер с помощью его конструктора или установщика:
Передача строки в конструктор адаптера
final WarehouseAdapter mAdapter = new WarehouseAdapter( WarehouseActivity.this, list, EmailHolder);
Передача строки с помощью установщика
В операции «ProfilWarehouseActivity»:
mAdapter.setEmailHolder(EmailHolder);
В адаптере WarehouseAdapter:
private String mEmailHolder;
public void setEmailHolder(String emailHolder) {
this.mEmailHolder = emailHolder;
}
....
private void passid(String idItem) {
Intent intent = new Intent(context, ProfilWarehouseActivity.class);
intent.putExtra(Konfigurasi_Warehouse.WAREHOUSE_ID, idItem);
intent.putExtra("EmailHolder", mEmailHolder);
//i think this is for get my EmailHolder from WarehouseActivity to pass it with Intent from this Adapter class
context.startActivity(intent);
}
Вариант 2:
Другой вариант - создать прослушиватель и реализовать его в «ProfilWarehouseActivity», и передать itemId в качестве параметра обратному вызову прослушивателя. Затем пусть ваш «ProfilWarehouseActivity» будет вызывать «WarehouseActivity» вместо WarehouseAdapter при каждом запуске этого прослушивателя.
В адаптере WarehouseAdapter:
public interface ItemClickListener {
public void onItemClick(int idItem);
}
ItemClickListener mItemClickListener;
public void setItemClickListener(ItemClickListener listener) {
mItemClickListener = listener;
}
private void passid(String idItem) {
if (mItemClickListener != null)
mItemClickListener.onItemClick(idItem);
}
В действии «ProfilWarehouseActivity»:
class ProfilWarehouseActivity extends AppCompatActivity implements WarehouseAdapter.ItemClickListener {
private String EmailHolder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_warehouse);
Bundle extras = getIntent().getExtras();
EmailHolder = extras.getString("emailuser");
}
@Override
onItemClick(int itemId) {
Intent intent = new Intent(this, ProfilWarehouseActivity.class);
intent.putExtra(Konfigurasi_Warehouse.WAREHOUSE_ID, idItem);
intent.putExtra("EmailHolder", EmailHolder);
startActivity(intent);
}
...
final WarehouseAdapter mAdapter = new WarehouseAdapter( WarehouseActivity.this,list);
mAdapter.setItemClickListener(this);