user2980244
user2980244

Reputation: 33

combine multiple string arrays android

I have two string arrays in my xml file. the code snippet is

<string-array name="ECE1NAME">
    <item>ENG1</item>
    <item>MAT1</item>
    <item>PHY1</item>
    <item>CHM1</item>
    <item>EG</item>
    <item>FOC</item>
    <item>CPL1</item>
    <item>EPL</item>
</string-array>
<string-array name="ECE2NAME">
    <item>ENG2</item>
    <item>CHM2</item>
    <item>PHY2</item>
    <item>MAT2</item>
    <item>ECED</item>
    <item>BCM</item>
    <item>PCL</item>
    <item>CPL2</item>
    <item>CDL</item>
</string-array>

Now I want to combine this into one string depending on the if condition in my class file. My java code snippet is

 if(messagec2.equals("1"))
 {
     sub=getResources().getStringArray(R.array.ECE1NAME);
 }
 if(messagec2.equals("2"))
 {
     sub=getResources().getStringArray(R.array.ECE1NAME);
     sub=getResources().getStringArray(R.array.ECE2NAME);
 }

In the second condition I want to put both the ECE1NAME and ECE2NAME string array into the same variable sub.Please help me.

Upvotes: 3

Views: 8393

Answers (2)

kalyan pvs
kalyan pvs

Reputation: 14590

take stirng variables like string a[],string B[] and concatenate them like this by passing your values to this method..

private String[] concat(String[] A, String[] B) {
   int aLen = A.length;
   int bLen = B.length;
   String[] C= new String[aLen+bLen];
   System.arraycopy(A, 0, C, 0, aLen);
   System.arraycopy(B, 0, C, aLen, bLen);
   return C;
}

Upvotes: 10

eimmer
eimmer

Reputation: 1709

When the messagec2.equals("2") you're setting the sub variable and then in the next line you're replacing the value you just set. Try an arraylist to get the first value and then APPEND the value of the second array to it.

This thread should help. How can I concatenate two arrays in Java?

Upvotes: 0

Related Questions