putExtra()를 사용하여 정보를 의도로 설정하고 정보가 실제로 존재한다는 것을 디버거에서 확인한 다음 다른 활동을 시작합니다.정보 전달이 의도로 작동하지 않음
startActivity(intent);
하지만 난 저장된 정보에 액세스하려고 할 때 :
Intent intent = getIntent();
Bundle b = intent.getExtras();
을 다음 null을 반환은, 사실, 난 의도가에 첨부 된 번들이없는 내 디버거를 참조하십시오.
어떻게 해결할 수 있습니까?
편집 :
이 내가 사용하는 기능은 다음과 같습니다 : 내가 전에 말했듯이
private Intent baseClickFunction(JSONItem item){
Intent i = new Intent(MainActivity.this, ItemActivity.class);
i.putExtra("title", item.getProductName());
i.putExtra("date", item.getTimestamp());
i.putExtra("content", item.getFullDescription());
return i;
}
mListView.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> a, View v,int position, long id)
{
Intent intent = new Intent(baseClickFunction((JSONItem) a.getItemAtPosition(position)));
startActivity(intent);
}
});
, 내 디버거 정보를 확인할 여기 내가 엑스트라를 넣어하는 방법이다 새로운 활동을 시작하기 전에 정말로 내 의도에 부합됩니다.
는 난이하려고 노력 :Intent i = new Intent(MainActivity.this, ItemActivity.class);
i.putExtra("title", ((JSONItem) a.getItemAtPosition(position)).getProductName());
i.putExtra("date", ((JSONItem) a.getItemAtPosition(position)).getTimestamp());
i.putExtra("content", ((JSONItem) a.getItemAtPosition(position)).getFullDescription());
startActivity(i);
을하며 작업 dosnt
편집 : 나는 내가 "보호 무효 onPostExecute에서이 일을하고있는 리스너를 설정하는 것이 사실 (무효합니까 결과) "는 AsyncTask에 영향을 미칩니 까?
EDIT : 다른 프로젝트에서이 작업을 수행하면 작동하지만이 경우에는 그렇지 않습니다. AsyncTasks, ListViews 또는 tabViews가이 작업에 어떤 영향을 줍니까?
엑스트라를 설정하는 코드를 게시하십시오. –
데이터를 설정하는 위치는 무엇입니까? 데이터를 의도대로 설정하기 위해 사용하는 코드, 전달할 데이터를 제공하십시오. – Triode
다른 프로젝트에서이 작업을 시도하지만 작동하지 않습니다 !!! –