簡體   English   中英

如何將字符串Arraylist從一個活動傳遞到另一個活動?

[英]How to pass a string Arraylist from one activity to another?

現在,我嘗試使用Intent Extra來通過捆綁字符串數組列表進行傳遞和接收,但是由於某些原因,該列表從未通過,當我嘗試使用get(0)從列表中檢索第一個字符串時,出現空指針錯誤,可以有人請幫我嗎?

首次活動(注冊活動):

 public static final String string_array = "geoquiz.android.bignerdranch.com.string_array";

final ArrayList<String> myStringArray = new ArrayList<>();
myStringArray.add(username.getText().toString());
myStringArray.add(firstName.getText().toString());
myStringArray.add(lastName.getText().toString());

Intent i = new Intent(signUpActivity.this,loginActivity.class);
i.putExtra("string_array", myStringArray);
startActivity(i);

第二活動(登錄活動):

final Bundle stringArrayList = getIntent().getExtras();
final ArrayList<String> stringArray = new ArrayList<> (); 
stringArray = stringArrayList.getStringArrayList("string_array");

if(username.getText().toString().equals(stringArray.get(0)))
Toast.makeText(loginActivity.this, "You have successfully logged in!", Toast.LENGTH_SHORT).show();

我認為您從第二個活動的意圖中弄錯了arrayList:

Intent intent = getIntent();

ArrayList<String> stringArray = intent.getStringArrayListExtra("string_array");

代替i.putExtra()使用i.putStringArrayListExtra()

另外,添加日志條目以確保按預期填充了陣列。

Log.i("myStringArray", myStringArray.toString());
Intent i = new Intent(signUpActivity.this,loginActivity.class);
i.putStringArrayListExtra("string_array", myStringArray); //modified
startActivity(i);

另外,在此代碼中取出final

final Bundle stringArrayList = getIntent().getExtras();
//final ArrayList<String> stringArray = new ArrayList<> (); //no need for this line
ArrayList<String> stringArray = stringArrayList.getStringArrayList("string_array"); //just declare and assign

在這里查看文檔

我如何通過 ArrayList<object> 從一個活動到另一個活動<div id="text_translate"><p>我想將 Object 的 ArrayList 從一個活動傳遞到另一個活動。</p><p> 這是示例代碼:</p><pre> { ArrayList&lt;object&gt; list=new ArrayList&lt;&gt;(); Object value[]=new Object[m.size()]; int n=0; value[]=new Object[n]; value[n]=data.getName("name"); value[n]=data.getLocation("location"); list.add(value[n]); n++; //Since there are "n" number of object } //here the value a which is ArrayList Object // which I want to pass it from here to another activity.</pre><p> 那么現在我將如何將 object 從這里傳遞給另一個活動。 <strong>但是</strong>,我可以使用<strong>Gson</strong>獲得值。 通過將值轉換為<strong>json</strong>並將其作為字符串傳遞給<strong>SharedPreference</strong>並從另一個活動中檢索,然后使用<strong>類型</strong>從<strong>Json</strong>轉換回來以支持其原始形式。</p><p> 我想知道是否可以使用<strong>Parceable</strong>傳遞值。 因為我在使用它時得到了 null 值。</p><p> 這是我試圖使我的 Object 變量 Parceable 的代碼:</p><pre> public class ProductList implements Parcelable { private String NAME; private String LOCATION; public ProductList() { } protected ProductList(Parcel in) { LOCATION= in.readString(); NAME= in.readString(); } public static final Creator&lt;ProductList&gt; CREATOR = new Creator&lt;ProductList&gt;() { @Override public ProductList createFromParcel(Parcel in) { return new ProductList(in); } @Override public ProductList[] newArray(int size) { return new ProductList[size]; } }; public String getNAME() { return NAME; } public void setNAME(String NAME) { this.NAME= NAME; } public String getLOCATION() { return LOCATION; } public void setITEM_IMAGE(String LOCATION) { this.LOCATION= LOCATION; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(NAME); dest.writeString(LOCATION); } }</pre></div></object>

[英]How do I pass ArrayList<Object> from one Activity to another Activity

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 如何將ArrayList中的類從一個活動傳遞給另一個活動 如何傳遞ArrayList <Class> 從一項活動到另一項活動? 我如何通過 ArrayList<object> 從一個活動到另一個活動<div id="text_translate"><p>我想將 Object 的 ArrayList 從一個活動傳遞到另一個活動。</p><p> 這是示例代碼:</p><pre> { ArrayList&lt;object&gt; list=new ArrayList&lt;&gt;(); Object value[]=new Object[m.size()]; int n=0; value[]=new Object[n]; value[n]=data.getName("name"); value[n]=data.getLocation("location"); list.add(value[n]); n++; //Since there are "n" number of object } //here the value a which is ArrayList Object // which I want to pass it from here to another activity.</pre><p> 那么現在我將如何將 object 從這里傳遞給另一個活動。 <strong>但是</strong>,我可以使用<strong>Gson</strong>獲得值。 通過將值轉換為<strong>json</strong>並將其作為字符串傳遞給<strong>SharedPreference</strong>並從另一個活動中檢索,然后使用<strong>類型</strong>從<strong>Json</strong>轉換回來以支持其原始形式。</p><p> 我想知道是否可以使用<strong>Parceable</strong>傳遞值。 因為我在使用它時得到了 null 值。</p><p> 這是我試圖使我的 Object 變量 Parceable 的代碼:</p><pre> public class ProductList implements Parcelable { private String NAME; private String LOCATION; public ProductList() { } protected ProductList(Parcel in) { LOCATION= in.readString(); NAME= in.readString(); } public static final Creator&lt;ProductList&gt; CREATOR = new Creator&lt;ProductList&gt;() { @Override public ProductList createFromParcel(Parcel in) { return new ProductList(in); } @Override public ProductList[] newArray(int size) { return new ProductList[size]; } }; public String getNAME() { return NAME; } public void setNAME(String NAME) { this.NAME= NAME; } public String getLOCATION() { return LOCATION; } public void setITEM_IMAGE(String LOCATION) { this.LOCATION= LOCATION; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(NAME); dest.writeString(LOCATION); } }</pre></div></object> 我們如何使用捆綁將兩個ArrayList從一個Activity傳遞到另一個Activity 在android中將字符串數組的ArrayList從一個活動傳遞到另一個活動 將字符串從一個 Activity 傳遞到 AndroidStudio 上的另一個 Activity 將字符串從一個活動傳遞到另一個活動,Android 如何將變量從一個活動傳遞到另一個活動? 如何將字符串和圖像數據從一個活動傳遞到Android中的另一個活動? 如何將String從一個Activity傳遞到另一個Activity並將其用於Dialpad和Email的意圖
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM