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

fragment 리스트뷰 문제............................

0 추천
public class Page1 extends Fragment {
Context mContext;

public Page1(Context context) {
 mContext = context;
}

public Page1() {
// TODO 자동 생성된 생성자 스텁
}

public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.page1, container, false);
 return view;

}

}

public class Page1Adapter extends BaseAdapter {

 ArrayAdapter<String> adapter;
 ListView listview;
 ArrayList<String> arraylist = new ArrayList<String>();
 
 public Page1Adapter(Context c, ArrayList<String> id,
   ArrayList<String> fname, ArrayList<String> lname) {

 }

 @Override
 public Object getItem(int position) {
  // TODO 자동 생성된 메소드 스텁
  return null;
 }

 @Override
 public long getItemId(int position) {
  // TODO 자동 생성된 메소드 스텁
  return 0;
 }

 @Override
 public int getCount() {
  // TODO 자동 생성된 메소드 스텁
  return 0;
 }

 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
  // TODO 자동 생성된 메소드 스텁
  listview.setAdapter(adapter);
  return null;
 }
}



public class Page2 extends Fragment {
 Context mContext;

 private EditText mEditMAC;
 private EditText mEditIP;
 private EditText mEditNAME;
 
 Page1Adapter adapter;
 ListView listview;

 public Page2(Context context) {
  mContext = context;
 }

 public Page2() {
  // TODO 자동 생성된 생성자 스텁
 }

 public View onCreateView(LayoutInflater inflater, ViewGroup container,
   Bundle savedInstanceState) {
  View view = inflater.inflate(R.layout.page2, container, false);

  mEditMAC = (EditText) view.findViewById(R.id.editMAC);
  mEditIP = (EditText) view.findViewById(R.id.editIP);
  mEditNAME = (EditText) view.findViewById(R.id.editNAME);

  // 추가 버튼
  final Button btn1 = (Button) view.findViewById(R.id.ButtonAdd);
  btn1.setOnClickListener(new View.OnClickListener() {

   @Override
   public void onClick(View v) {
    // TODO 자동 생성된 메소드 스텁
    String str = mEditMAC.getText().toString();
   // str.

    
    
    Toast.makeText(getActivity(), "추가.", Toast.LENGTH_LONG).show();
   }
  });
  // 클리어 버튼
  final Button btn2 = (Button) view.findViewById(R.id.ButtonClear);
  btn2.setOnClickListener(new View.OnClickListener() {

   @Override
   public void onClick(View v) {
    // TODO 자동 생성된 메소드 스텁
    mEditMAC.setText("");
    mEditIP.setText("");
    mEditNAME.setText("");

    Toast.makeText(getActivity(), "클리어", Toast.LENGTH_LONG).show();
   }
  });

  return view;

 }

}

 

 

 

안녕하세요

 

 

현재 좌우로 움직이는 세개의 탭이 있습니다

제가 원하는 것은 두번째 화면에서 edittext에 글자를 입력해서 추가 버튼을 누르면

첫번째 화면에 있는 리스트뷰에 나오게 하는 것입니다.

 

현재 클래스 구성은 이렇게 되어있는데

추가 버튼을 눌렀을 때 리스트뷰오 ㅏ연동해서 아답터한테 넘겨주라는데 도통 무슨 소린지 모르겠습니다

제발 알려주시면 감사하겠습니다..ㅠㅠ

 

 

 

송이송이 (830 포인트) 님이 2014년 7월 25일 질문
인터넷에 보면..에디트텍스트등으로 원하는 값[스트링이라던가 인트값] 입력해서 버튼눌러서 리스트에 추가하고 띄워주는 예제들이 있던데..한 번 그걸로 테스트 해보심이 어떨까요
그건해봤어요~근데 제가원하는대로 안되서요 ㅎㅎ
첫번째 화면에 있는 리스트에 추가된 값을 띄우고 싶다 하셨는데 그 부분이 첫번째 탭인건가요? editText를 실행하는 탭은 두번째나 세번째탭에 있는것인지...? 첫번째 화면의 리스트뷰의 arraylist와 adapter만 있다면, editText값을 그 arraylist에 추가하고, 추가버튼을 누르고 나서나 첫번째 탭으로 이동할 때  adapter.notifyDataSetChanged(); 이런식으로 값을 갱신하면 될거같은데요. 문제점이 어떤 부분인지..?
리스트뷰에 값이 들어가는데 값이 보이지 않는다거나, 값 자체가 안들어간다거나..저는 하나의 어레이 리스트와 어댑터로 여러 페이지에 리스트뷰 만들어서 정보를 공유?하는 식으로 했거든요...ㅎㅎ
제가 이 전의 코드를 잘못 작성했는지 데이터셋체인지만 쓰면 거기서 에러가 나더라고요..ㅎㅎ..
에러나실 때 무슨 에러가 뜨는지, 로그를 올리시면 다른 분들도 답변하는데 편할것 같습니다.

1개의 답변

0 추천
아직도 오리무중인가요?
쭈쭈총각 (17,750 포인트) 님이 2014년 7월 28일 답변
예........................
...