我試圖將我的Volley響應分配給一個變量,所以我可以使用意圖將值傳遞給另一個活動。如何將我的排球反應變爲變量,以便我可以使用意圖將值傳遞給另一個活動?
我想知道爲什麼我的theMatchingContacts
字符串在logcat中顯示null
。我看到the matching contacts are null
我有theMatchingContacts
在我活動的頂部聲明:
public class VerifyUserPhoneNumber extends AppCompatActivity {
String theMatchingContacts;
如果用戶註冊的應用程序,這是的話,那麼在onCreate
:
else {
getPhoneContacts();
// then start the next activity
Intent myIntent = new Intent(VerifyUserPhoneNumber.this, PopulistoListView.class);
//we need phoneNoofUser so we can get user_id and corresponding
//reviews in the next activity
myIntent.putExtra("keyName", phoneNoofUser);
myIntent.putExtra("JsonArrayMatchingContacts", theMatchingContacts);
System.out.println("phonenoofuser" + phoneNoofUser);
System.out.println("the matching contacts are " + theMatchingContacts);
VerifyUserPhoneNumber.this.startActivity(myIntent);
我看到phoneNoofUser
好吧,那有效。但是對於theMatchingContacts
它打印null
。而getPhoneContacts()
發生在Intents
部分調用下面的抽籤代碼之前,所以getMatchingContacts
應該被初始化,對吧?
我凌空代碼,再往下,就是:
StringRequest stringRequest = new StringRequest(Request.Method.POST, CHECKPHONENUMBER_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
System.out.println(response);
theMatchingContacts = response.toString();
System.out.println(theMatchingContacts);
etc...etc...
的response
打印正確。在代碼的排列部分,theMatchingContacts
也是如此。我不能將Intents代碼放入Volley呼叫中,因爲在呼叫之前我的活動需要做其他事情startActivity
如果你想做任何主線程相關的工作,然後嘗試使用'runOnUiThread()'方法 –