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

연결부분을 어떻게 해야할지 몰라서 며칠째 고민입니다..

0 추천

 

안녕하세요..

며칠전에 질문을 올려서 저에게 있어서 고난을 겪었던 문제 해결을 받았습니다. 정말 감사했습니다.

그런데, 이번에는  다른부분도 연결을 시켜야 하는데 어떻게  할지 잘 몰라서..

이 부분에 대해서 몇날며칠을 고민하고 있는지 모르겠습니다... 이미지 부분을 이해했으면

다른부분도 쉽게 할수 있을거라고 생각을 했었는데 그게 쉽지가 않습니다.

다름이 아니라, 아래의 소스를 보면, 뷰페이저에 5개의 이미지가 등록이 되어 있습니다.(a1.a2.a3.a4.a5)

그리고 각각의 이미지를 클릭시에, HappyLife의 thunmail.setOnclickListener을 통해서, 이미지에 맞게, 연결된 First_Movie의 액티비티로 이동하여 각각의 뷰페이저에서 입력했던 이미지의 데이터가 잘 전달이 되어 화면에

나타나고 있습니다.

그런데, 이미지 뿐만 아니라, String 쪽에 등록한 text1, text2 , text3, text4, text5 의 이름으로저장된 다량의 내용을

각 이미지의 클릭시 아래의 내용에 추가를 하려고 하는데 그 방법을 잘 모르겠습니다.

분명, 각 섹션마다 내용이 달라야해서, string쪽에 text1부터 text5까지 만들어놓은 상태인데 쉽게 잘 되질않습니다..

 

 

 

제가 생각하기에, 윗부분에 아래와 같이 내용에 대한(at_Contents) 부분을하나를 더 만들고, 각각 string을 text1부터

text5까지 다 더해준뒤에 contents라는 키값에 내용을 저장하고, First_Movie 부분에서 contents로 받아서

진행을 해야하는데.. 저 이후부터는 어떻게 해야할지 잘 모르겠습니다.

그 전에도, at_Contents.add("@string/text1"); 일단 이 부분에서 진행이 쉽게 되어지지가 않아서.. 문제입니다.

입력한 텍스트들이 뜨지않고 저 안에 있던 내용이 그대로 떠버리네요.. 어디가 문제일까요 ㅠㅠ

소스가 길어서, 아래의 답변에 추가해서 달아보겠습니다.

public static ArrayList<String> at_Contents = new ArrayList<>();
at_Contents.add("@string/text1");
String content = at_Contents.get(position);
intent.putExtra("contents",content);
TextView contents = (TextView)findViewById("contents");
tw.setText(bundle.getString("story"));

지금같은경우는 첫번째 이미지 클릭시, 아래의 내용에

android:id="@+id/Seventh_TextView2" 이 부분에, 기나긴 String에 대한 내용을
채워보고 싶은데 어떻게 해야 하는지 잘 모르겠습니다..

 

Kind카인드 (3,600 포인트) 님이 2016년 10월 26일 질문
public class HappyLife extends AppCompatActivity {

1개의 답변

0 추천
 
채택된 답변

자료구조를 변경하세요.

//Intent에 인스턴스를 넘기기 위해서는 Serializable or Parcelable을 구현
public class Movie implement Serializable {
   private int drawableId;
   private String title;
   private String content;    

   public Movie() {}
   
   public Movie(int drawableId, String title, String content) {
        this.drawableId = drawableId;
        this.title = title;
        this.content = content;
   }   

   //getter, setter 생략
}

List<Movie> movies = Array.asList(
    new Movie(R.drawable.a1, "1. 총살", "사망률 21.5% "),
    new Movie(R.drawable.a2, "2. 화형", "사망률 19.8% "),
    new Movie(R.drawable.a3, "3. 교수형", "사망률 15.2% "),
    new Movie(R.drawable.a4, "4. 굶는형", "사망률 10.5% "),
    new Movie(R.drawable.a5, "5. 절도형", "사망률 5.4% ")
);


mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
mSectionsPagerAdapter.setItems(movies);
mViewPager = (ViewPager) findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);

Adapter코드도 movie list를 받아서 처리하도록 당연히 변경하셔야 겠죠? 거의 코딩을 다 해드렸으니 이게 해결하실 수 있을 거라 생각합니다.

spark (227,910 포인트) 님이 2016년 10월 26일 답변
Kind카인드님이 2016년 11월 1일 채택됨
답변 감사드립니다 ㅠ .. 올리신 소스를이해하는데 제가 좀 시간이 많이 걸리네요 ㅠ 현재, 새로운 사망률에 대한 내용들이 @string/text1 ~ @string/text5에 다
저장이 되어 있고, 이 부분을 각 뷰페이지가 바뀔때 Seventh_TextView2에
첫번쨰 이미지에 맞춰서 마지막이미지와 string1~5의 내용이 같아야 하는데..
이걸 어떻게 해야할지 잘 모르겠습니다 ..ㅠ.ㅠ
시간을 내서 자바 공부를 먼저 하시길 강추드립니다. 안그러면 계속 비슷한 문제로 어려움을 겪으실 것 같아요. 1시간 걸릴 일이 하루씩 걸리다보면 결과적으로 자바공부를 먼저 하는 쪽이 생산성도 향상되고 프로그래밍 실력도 늘릴 수 있어서 더 낳을듯 합니다.
네. 감사합니다 ㅠㅠㅠㅠㅠㅠ
...