【发布时间】:2018-03-27 02:09:25
【问题描述】:
我在活动 1(犯罪和健康)上有 2 个按钮,它们具有不同的 onClickListeners,并且这两个功能导致相同的活动 2...
在活动 2 上,我想区分用户单击了哪个按钮(无论是犯罪还是健康),以便应用程序可以生成相应的消息。..
我正在使用 putExtra 和 bundle,并且还能够从活动 1 到活动 2 检索数据,但是在活动 2 上,我无法理解应该使用哪种 if/else 或 switch 语句,因此我可以区分按下了哪个按钮按用户
活动 1 - 次要
public class Minor extends Fragment implements View.OnClickListener{
public String option;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.minor_view, container, false);
Button ec = view.findViewById(R.id.ec);
ec.setOnClickListener(this);
Button hc = view.findViewById(R.id.hc);
hc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Object view=null;
buttonClicked( (View) view );
}
});
return view;
}
@Override
public void onClick(View view) {
final Intent intent = new Intent(getActivity(),HelpCall.class);
Bundle b = new Bundle();
b.putString(option,"ec");
intent.putExtras(b);
startActivity(intent);
}
public void buttonClicked (View v)
{
final Intent intent = new Intent(getActivity(),HelpCall.class);
Bundle b = new Bundle();
b.putString( option,"hc");
intent.putExtras(b);
startActivity(intent);
}
}
活动 2 - HelpCall
public class HelpCall extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_help_call );
Bundle b = getIntent().getExtras();
String ec = b.getString("ec");
String hc = b.getString("hc");
Button sms = (Button) findViewById(R.id.sms);
sms.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// sendSms( "number", "Emergency.. " );
Toast.makeText( getApplicationContext(), "emergency call crime / health", Toast.LENGTH_LONG ).show();
}
});
}
private void sendSms(String phoneNumber, String message){
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, null, null);
}
}
【问题讨论】:
标签: android button android-activity android-fragmentactivity