2013-07-26 4 views
0

전자 메일의 본문에 일부 값이있는 ArrayList를 보내려고합니다. 이처럼 :안드로이드에있는 전자 메일 본문에 ArrayList를 보내는 방법은 무엇입니까?

Button bt_send = (Button) findViewById(R.id.bt_cadastrar_medicos); 
     bt_cadastrar_medicos.setOnClickListener(new OnClickListener() { 
        @Override 
      public void onClick(View arg0) { 
       Intent intent = new Intent(Intent.ACTION_SEND); 
       intent.setType("plain/text"); 
       intent.putExtra(Intent.EXTRA_EMAIL, "[email protected]"); 
       intent.putExtra(Intent.EXTRA_SUBJECT, "SUBJECT"); 
       ArrayList<String> array = new ArrayList<String>();     
       for(int i=0; i<2; i++){ 
            String ii = String.valueOf(i); 
        niveis.add(ii);    
         niveis.add(ii); 
        intent.putExtra(Intent.EXTRA_TEXT, niveis.get(i)); 
       } 

       startActivity(Intent.createChooser(intent, "Choose the app to send:")); 
      } 
     }); 

이 그냥 예이다가, 실제로 내가 추가 할 배열 위치 값이 자바 클래스에서 가져옵니다. 그러나 몸에서 단지 마지막 값이 나타납니다.이 경우에는 "2"가됩니다.

어떻게 몸에 모두 표시합니까? 그게 가능하니?

감사합니다.

답변

0

,이 호출은 각각 루프를 통과 EXTRA_TEXT의 데이터를 교체한다. EXTRA_TEXT로 보내려는 전체 문자열을 작성한 다음 putExtra()를 한 번 호출하여 의도에 추가해야합니다. 예 :

StringBuilder sb = new StringBuilder(); 
for (String s : myArrayList) { 
    sb.append(s); 
    sb.append("\n"); 
} 
intent.putExtra(Intent.EXTRA_TEXT, sb.toString()); 
+0

와우, 내 코드에서 내 Arraylist의 "문자열"이 누락되었습니다. 그리고 당신도 코드를 사용하고 있습니다. 감사. – user2600853

0

문제는 여기에 있습니다 :

for(int i=0; i<2; i++){ 
    niveis.add("1");     
    niveis.add("2"); 
    intent.putExtra(Intent.EXTRA_TEXT, niveis.get(i)); 
} 

for 루프의 첫 번째 반복에 :

niveis looks like 
    1 , 2 , 1 , 2 

Intent.EXTRA_TEXT is the key to: niveis.get(1) ==>> 2 

확실하지 당신이 : 두 번째 for 루프의 반복에

niveis looks like 
    1 , 2 

Intent.EXTRA_TEXT is the key to: niveis.get(0) ==>> 1 

노력하고있어. 그러나,이 경우에는 단지 마지막 값이 나타납니다

위한 그러나 본문에 이유는 "2"

위 설명 될 것이다.

intent.putExtra(Intent.EXTRA_TEXT, niveis.get(i)); 

하여 피 루프

+0

나는 데이터베이스가 내 ideia 전자 메일이 전송됩니다 모든 datas는 본문에 표시됩니다 클릭 버튼에, 그래서 datas를 호출하고 "niveis"배열에 추가하는 것입니다. 어떻게해야합니까? 주 :이 "1", "2"는 실제로 예제 일뿐입니다. String values ​​= javaClass.Method(). get (i) .getTag(); niveis.add (값); – user2600853

+0

@ user2600853이 목적을 위해 요 진보의 코드를 따르십시오. – Vikram

관련 문제