안드로이드 개발 질문/답변
(글 수 45,052)
기본으로 엑티비티로 작업을 하고 있습니다.
Relativelayout 에 textview와 이미지 뷰어를 가지고 동적 레이아웃을 작성했는데요
순서는 LinearLayout 를 하나 생성후
Relativelayout 를 루프문 돌때마다 생성
그리고 Textview 생성후 값을 집어 넣어 Relativelayout 넣고
Relativelayout를 LinearLayout에 넣어서 화면 구성을 합니다.
제가 궁금한 건
각 Relativelayout를 클릭할때마다 어떤 데이터를 다른 엑티비티 로 전달을 해주어야 하는데요~~~
리스트 엑티비티와 같은 클릭 할 때마다 고유의 값을 가지고 전달 하는 방법이 무엇입니까???
두개의 스트링은 다른 엑티비로 전달해야 하는데 방법을 모르겠습니다.
LinearLayout itemLayout1 = (LinearLayout) findViewById(R.id.item)
do {
RelativeLayout item = new RelativeLayout(this);
RelativeLayout.LayoutParams item_pram =
new RelativeLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT );
item_pram.addRule(RelativeLayout.RIGHT_OF);
TextView tv = new TextView(this);
tv.setText(" 서로 다른 값 표현");
item.addView(tv);
tv.setLayoutParams(item_pram);
itemLayout1.addView(item);
} while (mCursor.moveToNext());
소스는 이렇게 되어 있습니다.
RelativeLayout item 에서 루프문이 돌때마다 클릭 리스너를 생성후 각각의 두개의 값을 다른 엑티비디로 보낼 수있는 방법좀 알려주세요~~
도통 방법을 모르겠습니다.
참고로 한 RelativeLayout 안에 이미지 뷰어와 텍스트가 여러 개가 들어가서 완성됩니다.
참고 사항이나 힌트좀 주시면 정말 감사하겠습니다.
Relativelayout 에 textview와 이미지 뷰어를 가지고 동적 레이아웃을 작성했는데요
순서는 LinearLayout 를 하나 생성후
Relativelayout 를 루프문 돌때마다 생성
그리고 Textview 생성후 값을 집어 넣어 Relativelayout 넣고
Relativelayout를 LinearLayout에 넣어서 화면 구성을 합니다.
제가 궁금한 건
각 Relativelayout를 클릭할때마다 어떤 데이터를 다른 엑티비티 로 전달을 해주어야 하는데요~~~
리스트 엑티비티와 같은 클릭 할 때마다 고유의 값을 가지고 전달 하는 방법이 무엇입니까???
두개의 스트링은 다른 엑티비로 전달해야 하는데 방법을 모르겠습니다.
LinearLayout itemLayout1 = (LinearLayout) findViewById(R.id.item)
do {
RelativeLayout item = new RelativeLayout(this);
RelativeLayout.LayoutParams item_pram =
new RelativeLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT );
item_pram.addRule(RelativeLayout.RIGHT_OF);
TextView tv = new TextView(this);
tv.setText(" 서로 다른 값 표현");
item.addView(tv);
tv.setLayoutParams(item_pram);
itemLayout1.addView(item);
} while (mCursor.moveToNext());
소스는 이렇게 되어 있습니다.
RelativeLayout item 에서 루프문이 돌때마다 클릭 리스너를 생성후 각각의 두개의 값을 다른 엑티비디로 보낼 수있는 방법좀 알려주세요~~
도통 방법을 모르겠습니다.
참고로 한 RelativeLayout 안에 이미지 뷰어와 텍스트가 여러 개가 들어가서 완성됩니다.
참고 사항이나 힌트좀 주시면 정말 감사하겠습니다.
2010.05.30 23:47:48
보통 모든 View 객체들은 onClickListener를 설정할 수가 있는데, 이 때 구현해야하는 View.OnClickListener의 onClick 메서드는 View 객체를 파라미터로 넣어주게 됩니다. 이 때 파라미터로 전달받는, View는 클릭이 발생된 그 객체가 되죠.
제 생각에는 여러가지 방법이 있습니다.
첫째로는, 전역 변수로 Map<RelativeLayout, String>을 만들어 놓은 뒤에, RelativeLayout이 생성될 때마다, Map에 넣어놓는거죠.
그리고 onClick 메서드로 전달된 View 객체를 가지고 Map을 뒤지는 겁니다. 그럼 맵에서 그에 상응하는 Value 값을 뽑아낼 수 있겠죠.
둘째로는, 모든 View 객체에는 tag라는 값을 할당할 수 있습니다. setTag 메서드로 할 수 있고, 이것으로 View 객체에 String을 할당해놓을 수 있습니다. RelativeLayout이 생성될 때, 그것에다가 어떠한 tag를 달아놓고, onClick이 발생시 전달된 View 객체의 getTag를 통해서, 어떠한 값을 얻어낼 수 있을 것입니다.
뭐 몇가지 방법이 더 있겠습니다만, 이 정도까지만 하죠~