public class SingleFragment extends Fragment {
private int position = 0;
public SingleFragment() {}
public static SingleFragment newInstance() {
SingleFragment fragmentFirst = new SingleFragment();
Bundle args = new Bundle();
fragmentFirst.setArguments(args);
return fragmentFirst;
}
@Override
public void onResume() {
super.onResume();
}
@Override
public void onPause() {
super.onPause();
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
@TargetApi(Build.VERSION_CODES.M)
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View view = inflater.inflate(R.layout.home_fragment, container, false);//inflater.inflate(R.layout.home_fragment, null);
ListView list = (ListView)view.findViewById(R.id.singleList);
ArrayList<Integer> test = new ArrayList<>();
test.add(1);
test.add(2);
BaseAdapter adapter = new ListBaseAdapter(getActivity(), R.layout.single_list_item, test) {
@Override
public void getListItem(int position, View convertView, ViewGroup viewGroup) {
}
};
list.setAdapter(adapter);
return view;
}
@Override
public void onDetach() {
super.onDetach();
}
}
public abstract class ListBaseAdapter extends BaseAdapter implements ListItem{
private LayoutInflater mInflater = null;
private int mLayoutID = 0;
private ArrayList mList = null;
public interface ListBase
{
public void OnListItemListener(int position, View convertView);
}
public ListBaseAdapter(Context context, int layoutID, ArrayList list)
{
if(context != null) {
mInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
mList = list;
mLayoutID = layoutID;
}
@Override
public int getCount() {
try {
if(mList == null)
return mList.size();
else
return 0;
}catch (Exception e)
{
return 0;
}
}
@Override
public Object getItem(int i) {
try {
if (mList != null)
return mList.get(i);
else
return null;
}catch (Exception e)
{
return null;
}
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int position, View convertView, ViewGroup viewGroup)
{
View view = null;
if(convertView == null)
{
view = mInflater.inflate(mLayoutID, null);
} else
{
view = convertView;
}
getListItem(position, convertView, viewGroup);
return view;
}
//속도 향상을 위해서 Holder를 만들어서 사용할수 있도록 매소드 만듬
//static 함수이기때문에 ListBaseAdapter.get() 사용하면됨
//TextView text = ViewHolderHelper.get(convertView, R.id.text);
public static <T extends View> T get(View convertView, int id) {
//SparseArray은 integer를 Object에 매핑해주는것
SparseArray<View> viewHolder = (SparseArray<View>) convertView.getTag();
if (viewHolder == null) {
viewHolder = new SparseArray<View>();
convertView.setTag(viewHolder);
}
View childView = viewHolder.get(id);
if (childView == null) {
childView = convertView.findViewById(id);
viewHolder.put(id, childView);
}
return (T) childView;
}
}
public interface ListItem {
public void getListItem(int position, View convertView, ViewGroup viewGroup );
}
위와 같이 했는데 listView 아무것도 안보이고 ListBaseAdapter 클래스에 있는
getCount()함수등 다른 함수들이 아무것도 호춣이 안되네요..ㅠㅠ 도와주세요