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

fragment에 대해 공부하고있는데 어떻게해야될지 모르겠습니다...

0 추천

fragment에 대해 공부하고있는데 텍스트를 넣어서 첫번째 두번째 이렇게 뜨게 하는 방법은 알겠는데 왼쪽편에있는 메뉴를 누르면 오른쪽에 텍스트가 아닌 이미지를 뜨게 하고싶습니다... 근데 findviewbyid가 안되서 어떻게 해야될지 모르겠습니다..... 첫번째 쓰레기를 클릭하면 그거에대한 이미지가 뜨게 할수있는 방법이 궁금합니다....

import android.app.ListFragment;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;

public class contentsFragment extends ListFragment {
 
 String[] values = {"쓰레기", "칠봉이", "삼천포", "해태", "빙그레"};
 

 
 @Override
 public void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  
  
  
 }
 
 @Override
 public void onActivityCreated(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onActivityCreated(savedInstanceState);
  
  ArrayAdapter<String> adapter = new ArrayAdapter<String>(
    getActivity(),
    android.R.layout.simple_list_item_1,
    values
    
    );
  setListAdapter(adapter);
    
 }
 
 @Override
 public void onListItemClick(ListView l, View v, int position, long id) {
  // TODO Auto-generated method stub
  //super.onListItemClick(l, v, position, id);
  
  
  
  
  String item = (String)getListAdapter().getItem(position);
  detailsFragment frag =(detailsFragment)getFragmentManager().findFragmentById(R.id.detailFragment);
  if(frag!=null && frag.isInLayout())
  {
   frag.setText(getContent(item));
  }
 }
 
 private String getContent(String title){

  
  if(title.toLowerCase().contains("쓰레기")){  
   
   return "This is a first content";
  }
  else if(title.toLowerCase().contains("칠봉이")){
   return "This is a second content";
  }
  else if(title.toLowerCase().contains("삼천포")){
   return "This is a Third content";
  }
  else if(title.toLowerCase().contains("해태")){
   return "This is a Forth content";
  }
  else if(title.toLowerCase().contains("빙그레")){
   return "This is a fifth content";
  }
  return "Miss selection";
 }

}
import android.app.Fragment;
import android.app.Activity;
import android.os.Build;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class detailsFragment extends Fragment{
 
 @Override
 public void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  
  
  
 }
 
 @Override
 public void onActivityCreated(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onActivityCreated(savedInstanceState);
  
  
  
 }
 
 @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container,
   Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  View view = inflater.inflate(R.layout.detail, container,false);
  
  
  
  return view;
  
  
  //return super.onCreateView(inflater, container, savedInstanceState);
 }
 
 public void setText(String item)
 {
  TextView view = (TextView)getView().findViewById(R.id.textview);
  view.setText(item);
 }

}

 

카다쿠리 (280 포인트) 님이 2013년 11월 17일 질문

1개의 답변

0 추천
http://developer.android.com/training/basics/fragments/communicating.html

이 문서를 보고 개념을 익히세요. 그리고 otto 같은 eventbus 기법을 사용하시면 좀 더 코딩이 쉬워집니다.
상인 (6,670 포인트) 님이 2013년 11월 17일 답변
상인님이 2013년 11월 17일 수정
...