마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

텍스트뷰를 리스트뷰로 보내기

0 추천
public class ExActivity extends Activity {
 
 static final String FILE_NAME = "ex.txt";
 TextView text1, text2;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  
  text1 = (TextView) findViewById(R.id.text1);
  text2 = (TextView) findViewById(R.id.text2);
  
  Button btn1 = (Button) findViewById(R.id.btn1);
  btn1.setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    Intent intent = new Intent(getApplicationContext(), SecondActivity.class);
    startActivity(intent);
   }
  });
  
  Button btn2 = (Button) findViewById(R.id.btn2);
  btn2.setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    try {
     FileOutputStream fos = openFileOutput(FILE_NAME, Context.MODE_PRIVATE);
     
     String str1 = text1.getText().toString();
     String str2 = text2.getText().toString();
     
     fos.write(str1.getBytes());
     fos.write(str2.getBytes());
    } catch (Exception e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
    
   }
  });
 }

제가 이렇게 text1와 text2에 써져있는것을 ex.txt에 저장해서 두번째 액티비티의 리스트뷰로 보내주고 싶은데 잘안되네요.

btn1 은 두번째 액티비티로 넘어가는 버튼이고 btn2 는 저장하는 버튼입니다.

text1을 리스트뷰의 메인아이템에 text2를 서브아이템으로 넣어주고 싶습니다.

두번째 액티비티에서 FileInputStream 사용해서 불러오는건가요? 좀 알려주세요.
wwd873 (390 포인트) 님이 2016년 11월 3일 질문

1개의 답변

+2 추천
 
채택된 답변

구현하신 방법으로는 그렇지만, 파일로 쓰는 방식은  효율적이지 않는 듯 합니다.

intent 보낼때 text1, text2 값을 넣어 보내고 받는게 좋을 듯 합니다.

-- 첫번째 Activity에서 보낼 때

 Intent intent = new Intent(getApplicationContext(), SecondActivity.class);
 intent.putExtra("TEXT1",  text1.getText().toString()); // TEXT1 대신 적당한 이름 주시면 됩니다.
 intent.putExtra("TEXT2",  text2.getText().toString());
 startActivity(intent);

-- 두번째 Activity에서 받을 때 

String text1 = getIntent().getStringExtra("TEST1");

String text2 = getIntent().getStringExtra("TEST2");

익명사용자 님이 2016년 11월 3일 답변
wwd873님이 2016년 11월 3일 채택됨
...