我有一个MainActivity和一个SecondActivity,在MA中有两种情况能开启SA。
一、通过点击一个listview里的item,并把item的值传给SA。
二、通过手势向右滑动开启SA,不传任何值。
在SA里如何写判断呢?
这是情况一:
lv_timelist.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
tls = timelist.get(position);
Integer hourMain = tls.getHour();
Integer minMain = tls.getMinute();
Intent data = new Intent(MainActivity.this,SettingActivity.class);
data.putExtra("hourMain", hourMain);
data.putExtra("minMain", minMain);
setResult(0, data);
startActivityForResult(data, requestCode);
}
});
这是情况二:
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
if (e1.getX() - e2.getX() > 100) {
System.out.println("向左");
Intent settingIntent = new Intent(MainActivity.this,
SettingActivity.class);
startActivity(settingIntent);
return true;
}
return false;
}
这是SA的ONCREATE方法:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_setting);
timePic = (TimePicker) findViewById(R.id.timePic);
//这是timepIcker组件,情况一传进来的值直接设置进tp,情况二为获取系统时间设置进tp
timePic.setIs24HourView(true);
//Something Wrong!!!!!!!!!!!
//两种情况传进来的intent都不为空,所以我不知道该用什么方法去判断了
Intent intent = getIntent();
if(intent!=null){
Bundle bundle=intent.getExtras();
hourSet = bundle.getInt("hourMain");
minSet = bundle.getInt("minMain");
timePic.setCurrentHour(hourSet);
timePic.setCurrentMinute(minSet);
}
}
------解决思路----------------------
两这个都多传一个参数,如:第一种传type=1,第二种传type=2,SA判断type的值即可。