Java 如何在意图中调用此方法?
我拥有的:我有一个带有图像的RecyclerView,每个图像都有一个OnClickListener和一个Intent 我想要的:我想要在点击其中一张图片时触发另一个活动中的方法(MethodIwantToCall) 我的问题是:如何根据意图触发此方法?请,我将非常感谢代码示例的答案,我是新编程人员,有很多事情我不明白,提前谢谢 具有我要调用的方法的活动Java 如何在意图中调用此方法?,java,android,Java,Android,我拥有的:我有一个带有图像的RecyclerView,每个图像都有一个OnClickListener和一个Intent 我想要的:我想要在点击其中一张图片时触发另一个活动中的方法(MethodIwantToCall) 我的问题是:如何根据意图触发此方法?请,我将非常感谢代码示例的答案,我是新编程人员,有很多事情我不明白,提前谢谢 具有我要调用的方法的活动 public class MapsActivity extends FragmentActivity implements OnMap
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback,
GoogleApiClient.ConnectionCallbacks,
GoogleApiClient.OnConnectionFailedListener,
LocationListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
MethodIwantToCall();
}
public void MethodIwantToCall(){
String Restaurant = "restaurant";
mMap.clear();
String url = getUrl(latitude, longitude, Restaurant);
Object[] DataTransfer = new Object[2];
DataTransfer[0] = mMap;
DataTransfer[1] = url;
Log.d("onClick", url);
GetNearbyPlacesData getNearbyPlacesData = new GetNearbyPlacesData();
getNearbyPlacesData.execute(DataTransfer);
Toast.makeText(MapsActivity.this,"Nearby Restaurants", Toast.LENGTH_LONG).show();
}
});
}
我的RecyclerView适配器和调用此方法的位置
public class AdapterDatos extends RecyclerView.Adapter<AdapterDatos.ViewHolder> {
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, final int position) {
holder.etiNombre.setText(listalugares.get(position).getNombre());
holder.foto.setImageResource(listalugares.get(position).getFoto());
holder.foto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (position == 0){
Intent myIntent = new Intent(context, MapsActivity.class);
context.startActivity(myIntent);
}
}
});
}
}
公共类AdapterDatos扩展了RecyclerView.Adapter{
@凌驾
public void onBindViewHolder(@NonNull ViewHolder,final int位置){
holder.etiNombre.setText(listalugares.get(position.getNombre());
holder.foto.setImageResource(listalugares.get(position.getFoto());
holder.foto.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
如果(位置==0){
Intent myIntent=新的Intent(上下文,MapsActivity.class);
背景。起始触觉(myIntent);
}
}
});
}
}
您可以通过在目标活动的意图中添加额外内容来处理此问题,为了简化工作,您可以在目标活动中创建一个静态方法,该方法将使用前面提到的额外内容向该活动返回意图 以下是一个例子:
// --- MapsActivity ---
private static final String EXTRA_TRIGGER_METHOD = "trigger_method";
public static Intent getIntent(Context context, boolean triggerMethod) {
Intent intent = new Intent(context, MapsActivity.class);
intent.putExtra(EXTRA_TRIGGER_METHOD, triggerMethod);
return intent;
}
private boolean triggerMethod;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
// here we will assign to triggerMethod the value you passed to the intent when we started this activity
triggerMethod = getIntent().getBooleanExtra(EXTRA_TRIGGER_METHOD, false);
if (triggerMethod) {
methodIWantToCall();
}
}
// --- AdapterDatos ---
holder.foto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (position == 0) {
final boolean triggerMethod = true;
Intent intent = MapsActivity.getIntent(context, triggerMethod);
context.startActivity(intent);
}
}
}
这是一本书。也,