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

listview로 값 전달

0 추천
package net.thdev.fragmentexample.expandablelistvew;

import java.util.ArrayList;

import net.thdev.fragmentexample.R;
import android.content.Context;
import android.graphics.drawable.Drawable.Callback;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.BaseExpandableListAdapter;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;

public class ExpandableAdapter extends BaseAdapter {
 Context mContext;

 private ArrayList<String> mData = new ArrayList<String>();
 private LayoutInflater mInflater;

 public ExpandableAdapter() {
  mInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 }

 private LayoutInflater getSystemService(String layoutInflaterService) {
  // TODO 자동 생성된 메소드 스텁
  return null;
 }

 @Override
 public int getCount() {
  // TODO Auto-generated method stub
  return mData.size();

 }

 @Override
 public Object getItem(int position) {
  return mData.get(position);
 }

 @Override
 public long getItemId(int arg0) {
  // TODO Auto-generated method stub
  return arg0;
 }

 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
  
  TextView textView = null;
 
  EditText edit = (EditText) convertView.findViewById(R.id.editMAC);

  return parent;
 }

 public void addItem(String string) {
  mData.add(string);
  notifyDataSetChanged();
 }

}


package net.thdev.fragmentexample.expandablelistvew;

import java.util.ArrayList;
import java.util.Arrays;

import net.thdev.fragmentexample.R;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ExpandableListView;
import android.widget.ListView;

@SuppressLint("ValidFragment")
public class ExpandableMainFragment extends Fragment {
 ListView mList;
 Context mContext;
 ExpandableAdapter madapter;
 ArrayList arraylist = new ArrayList();
 
 
 public ExpandableMainFragment(Context context) {
  mContext = context;
 }

 @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container,
   Bundle savedInstanceState) {
  Log.v("ListView1", "create");
  View view = inflater.inflate(R.layout.listview, null);

  
  
  mList = (ListView) view.findViewById(R.id.ListView1);
  mList.setItemsCanFocus(true);
  mList.setAdapter(madapter);
//  mList.setAdapter(new ExpandableAdapter(mContext, createData()));

  return view; }

 
}

package net.thdev.fragmentexample.parcelable;

import net.thdev.fragmentexample.R;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

@SuppressLint("ValidFragment")
public class Add extends Fragment implements OnClickListener {
 
 public interface OnBtnClickListener {
        public void buttonClicked(String mac);
    }
    OnBtnClickListener mCallback;
 
 private Context mContext;

 private EditText mEditMAC;
 private EditText mEditIP;
 private EditText mEditNAME;
 
 public ArrayAdapter<Add> adapter ;

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


 @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container,
   Bundle savedInstanceState) {
  View view = inflater.inflate(R.layout.add, null);

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

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

   @Override
   public void onClick(View v) {   
    String str = mEditMAC.getText().toString();
    
//    mCallback.buttonClicked(str);
//     Toast.makeText(getActivity(), "추가.", Toast.LENGTH_LONG).show();

   }
  });

  // 클리어 버튼
  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;
 }

 @Override
 public void onClick(View v) {
  // TODO 자동 생성된 메소드 스텁

 }

}

현재 좌우로 스와이프가 가능한 어플을 만들고 있습니다

ㄷ두 번째 화면에서 edittext에 텍스트를 입력하고 add버튼을 누르면

첫 번재 화면인 listview에 나타나는 것을 하고 있습니다.

어댑터를 사용하려는데 어떻게 해아될지 모르겠습니다

제발 알려주세요ㅠㅠㅠㅠㅠㅠㅠㅠㅠ

 

 

 

 

 

송이송이 (830 포인트) 님이 2014년 7월 23일 질문

1개의 답변

0 추천
-_-;;; 그 때 이후로 진척이 없군요.... android listView예제 라고 검색하면 쏟아집니다!! ㅡㅡ

 

10분이면 코딩다 해드릴 수 있지만... ㅠㅠ 송이송이님의 공부를 위하여...참겠습니다. ;;;
쭈쭈총각 (17,750 포인트) 님이 2014년 7월 23일 답변
여러가지 소스를 하도 붙여넣고 없애다 봤는데 에러만나고..그래서 혹시나 하는 마음에 깨끗한 소스 올린겁니다..
음.... 진척이 없다고 한게 비꼬거나 뭐 그런뜻이 아니구요.
아직 해결이 안되어서 안타까운 마음에 적은 글이니 오해 없으셨으면 좋겠네요.
저 근데 궁금한게 있는데 제가 어떤 프로젝트 파일을 다운받아서 이거에 대해서 고치고 있는데요
이 프로젝트 파일이 public class ExpandableAdapter extends BaseAdapter 이거랑 public class ExpandableMainFragment extends Fragment 이렇게 나눠서 코딩을 해놨던데 원래 이렇게 나눠서 하는건가요?
구글링하시면..editText에 입력된 값을 list에 추가해서 listview에 새로 추가해주는것..예제 많습니다..에러가 많이 나셔도..에러문을 잘 보시고 역으로 따라가면 답이 보일때도 있습니다..^^ 인터넷에 예제 많으니, editText입력값이 llistview에 추가되는거 찾아보시고, 기능만 따오시면 될거같은데요.
네..뭔소린지 다 이해는 되는데..뭐 붙이기만 하면 에러나고 지우고,, 며칠째 이거만붙잡고있으니까 너무답답하네요!ㅠㅠ
ExpandableAdapter가 해당 Fragment에 특화되어있다면 그냥 Fragment에 이너클래스로 하는게 편하구요...(Fragment 멤버 변수에 바로 접근할 수 있으니...)

여러군데서 사용하거나 재사용해야겠다 싶으면 따로 구현하구요.
...