定义点击源?

时间:2017-04-07 17:14:39

标签: java android

是否可以定义点击来源?我可以通过单击RecyclerView或通过通知操作来访问我的MainActivity。根据它的不同,我需要提供不同的信息。有没有办法说:如果点击来自recyclerview然后......,否则如果是来自通知行动那么......?

到目前为止我能想到的是这个,但问题是我没有使用按钮:

Button mClickButton1 = (Button)findViewById(R.id.clickButton1);
mClickButton1.setOnClickListener(this);
Button mClickButton2 = (Button)findViewById(R.id.clickButton2);
mClickButton2.setOnClickListener(this);

public void onClick(View v) {
    switch (v.getId()) {
        case  R.id.clickButton1: {
            // do something for button 1 click
            break;
        }

        case R.id.clickButton2: {
            // do something for button 2 click
            break;
        }
    }
}

谢谢!

1 个答案:

答案 0 :(得分:1)

您必须为同一活动定义两个不同的调用意图,并​​为每个视图示例添加信息:

  mClickButton1.setOnClickListener(new onClickListener(){
   public void onClick(View v) {
     Intent view1_int = new Intent (this, MainActivity.class);
      view1_int.putExtra("Calling Intent" ,"RecyclerView");
      startaActivityForResult(view1_int);


}
});
mClickButton2.setOnClickListener(new onClickListener(){
   public void onClick(View v) {
     Intent view2_int = new Intent (this, MainActivity.class);
      view1_int.putExtra("Calling Intent" ,"Notification action");
      startaActivityForResult(view1_int);


}
});

并且在MainActivity的onCreate方法中,您可以说:

 String callin_view;
 callin_view =getresources.getIntent.getExtras("Calling_Intent");

这将检索您定义的调用源的名称