안드로이드 개발의 새로운 기능 나는 동일한 활동에 대한 두 가지 다른 의도를 구별해야합니다. 사용자가 그 버튼을 누를 때 하나의 버튼이 있다는 것을 명확하게 설명하겠습니다.이 버튼을 누르면 거기에서 일부 의도 값을 전달할 다른 활동이 트리거됩니다. 그에 따라 내가 인 텐트에서 인 텐트를 트리거하는 위치에서 목록보기를 채울 것입니다. 사용자가 거기에서 목록보기를 누르면 추가 인 텐트 값으로 인 텐트를 전달하는 방법과 여기에서 활동을 수신 할 때 두 인 텐트를 구별하는 방법이 wh라고 가정합니다.
at i have tried so far:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// handle item selection
switch (item.getItemId()) {
case R.id.add:
int id=timertrackerdao.getNotesCount();
if(id>0){
Toast.makeText(getContext().getApplicationContext()," Please Finish The Pending Visit",Toast.LENGTH_SHORT).show();
}
else {
Intent intent = new Intent(getActivity().getApplicationContext(), AddNotes.class);
intent.putExtra("taskid",taskid);
intent.addFlags(0);
startActivityForResult(intent, 1);
}}
return super.onOptionsItemSelected(item);
}
여기에서 메뉴 표시 줄에서 인 텐트를 트리거합니다.
Intent intent = new Intent(getActivity().getApplicationContext(), AddNotes.class);
Bundle bundle=new Bundle();
bundle.putInt("addnoteid",id);
bundle.putInt("taskid",taskid);
bundle.putString("checkin",checkin);
intent.addFlags(1);
startActivityForResult(intent, 1);
이것은 내가 목록보기에서 값을 선택하는 곳이며 이것은 또 다른 값 세트입니다. 수신 활동에서 의도를 구별하는 방법은 다음과 같습니다.
Intent intent=getIntent();
if(intent.getFlags()==0) {
if (intent != null) {
taskid = intent.getIntExtra("taskid", 0);
}
}
else {
Bundle extras = getIntent().getExtras();
if (extras != null) {
check.setEnabled(false);
// TaskID=extrass.getInt("noteid");
id = extras.getInt("addnoteid");
date = extras.getString("checkin");
TaskID = extras.getInt("taskid");
createNotification(date);
AddNote(id);
}
}
이제 내 질문은 listview를 클릭하여 두 의도를 버튼 클릭과 다른 의도를 구별하는 방법과 수신 활동을 구별하는 방법입니다.?
다음과 같은 의도가 모두있는 문자열을 넣으십시오.
intent.putExtra("from","button");
과
intent.putExtra("from","listview");
이제 다른 활동에서
if(getIntent().getStringExtra("from").equals("button"))
{ //do here
}else if(getIntent().getStringExtra("from").equals("listview"))
{ // do here
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다