我想從一個異步任務類到另一個片段類的數組,但我得到一個空指針異常。我在這裏看到了很多答案,但我沒有看到實際回答這個問題。Android將數組從異步任務傳遞到另一個類
我試圖從異步類任務返回值,我試圖使數組靜態,但我沒有成功。
這些都是班(我強調了在那裏我想從價值,並把它):
public class DemoPreviewSongFragment extends DemoFragmentBase {
// The DynamoDB object mapper for accessing DynamoDB.
private final DynamoDBMapper mapper;
public DemoPreviewSongFragment() {
mapper = AWSMobileClient.defaultMobileClient().getDynamoDBMapper();
}
SongPreviewCardsDataAdapter mCardAdapter;
com.wenchao.cardstack.CardStack mCardStack;
@Override
public View onCreateView(final LayoutInflater inflater, final ViewGroup container,
final Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_preview_song, container, false);
mCardStack = (CardStack)view.findViewById(R.id.cardstackcontainer);
mCardStack.setContentResource(R.layout.song_preview_card_layout);
mCardStack.setStackMargin(20);
new getSongsInCategory().execute();
/////////// WHEN TRYING TO REFERENCE THE STATIC ARRAY RESULT HERE I GET A NULL /////////// POINTER. I NEED THE ARRAY HERE SO I CAN PUT IT IN THE ADAPTER.
mCardAdapter = new SongPreviewCardsDataAdapter(getActivity().getApplicationContext(),0);
mCardAdapter.add("test1");
mCardStack.setAdapter(mCardAdapter);
return view;
}
//////////////////// THIS IS THE ARRAY I AM TRYING TO PASS /////////////////////
public static PaginatedQueryList<SongDatabaseMappingAdapter> result;
public class getSongsInCategory extends AsyncTask {
@Override
protected Object doInBackground(Object[] params) {
SongDatabaseMappingAdapter songs = new SongDatabaseMappingAdapter();
songs.setCategory("Rap");
String userRatingQueryString = "5";
Condition rangeKeyCondition = new Condition()
.withComparisonOperator(ComparisonOperator.EQ)
.withAttributeValueList(new AttributeValue().withN(userRatingQueryString));
DynamoDBQueryExpression queryExpression = new DynamoDBQueryExpression()
.withHashKeyValues(songs)
.withIndexName("Category-UserRating-index")
.withRangeKeyCondition("UserRating", rangeKeyCondition)
.withConsistentRead(false);
result = mapper.query(SongDatabaseMappingAdapter.class, queryExpression);
return result;
}
}
我不知道我在做什麼錯在這裏爲什麼是一個空指針當它應該是一個全局(靜態)數組?有沒有更好的方法來做到這一點? AsynTask的
感謝您的幫助