package com.roboo.like.google.fragments;
import java.util.HashMap;
import java.util.LinkedList;
import android.content.Intent;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.SimpleAdapter;
import com.roboo.like.google.BusActivity;
import com.roboo.like.google.CameraActivity;
import com.roboo.like.google.ContacterActivity;
import com.roboo.like.google.CityActivity;
import com.roboo.like.google.WebViewActivity;
import com.roboo.like.google.LocationActivity;
import com.roboo.like.google.MainActivity;
import com.roboo.like.google.PictureActivity;
import com.roboo.like.google.R;
import com.roboo.like.google.SMSActivity;
import com.roboo.like.google.UserActivity;
import com.roboo.like.google.views.AnimationListView;
public class LeftFragment extends BaseFragment
{
private static final String DUMMY_USERNAME = "haikuo wuya \r\nhaikuowuya@gmail.com";
private static final int REQUEST_CAMERA_CODE = 1334;
private AnimationListView mListView;
private Button mBtnUsername;
public static LeftFragment newInstance()
{
LeftFragment fragment = new LeftFragment();
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.fragment_left, null);
mListView = (AnimationListView) view.findViewById(R.id.alv_list);
mBtnUsername = (Button) view.findViewById(R.id.btn_username);
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
mListView.setAdapter(getAdapter());
mListView.setAnimationDurationFactor(20f);
mBtnUsername.setText(DUMMY_USERNAME);
setListener();
}
private void setListener()
{
mListView.setOnItemClickListener(new OnItemClickListenerImpl());
mBtnUsername.setOnClickListener(new onClickListenerImpl());
}
private BaseAdapter getAdapter()
{
LinkedList<HashMap<String, String>> data = new LinkedList<HashMap<String, String>>();
String[] texts = getResources().getStringArray(R.array.left_drawer_text_arrays);
String[] from = new String[] { "image", "text" };
for (int i = 0; i < texts.length; i++)
{
HashMap<String, String> hashMap = new HashMap<String, String>();
String[] tmp = texts[i].split("#");
hashMap.put(from[0], getResources().getIdentifier(tmp[0], "drawable", getActivity().getPackageName()) + "");
hashMap.put(from[1], tmp[1]);
data.add(hashMap);
}
int[] to = new int[] { R.id.iv_image, R.id.tv_text };
SimpleAdapter simpleAdapter = new SimpleAdapter(getActivity(), data, R.layout.drawer_list_item, from, to);
return simpleAdapter;
}
private class onClickListenerImpl implements OnClickListener
{
public void onClick(View v)
{
MainActivity mainActivity = (MainActivity) getActivity();
UserActivity.actionUser(mainActivity);
mainActivity.closeLeftDrawer();
}
}
private class OnItemClickListenerImpl implements OnItemClickListener
{
MainActivity mainActivity = (MainActivity) getActivity();
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
switch (position)
{
case 0://首页
break;
case 1:// 人脉
ContacterActivity.actionContacter(mainActivity);
break;
case 2:// 照片
PictureActivity.actionPicture(mainActivity);
break;
case 3:// 拍照
// CameraActivity.actionCamera(getActivity());
startCamera();
break;
case 4://短信
SMSActivity.actionSms(getActivity());
break;
case 5://天气信息
CityActivity.actionCity(getActivity());
break;
case 6:// 位置信息
LocationActivity.actionLocation(getActivity());
break;
case 7://实时公交
BusActivity.actionBus(getActivity());
break;
case 8://嘀嘀打车
WebViewActivity.actionWebView(getActivity());
break;
}
mainActivity.closeLeftDrawer();
}
}
private void startCamera()
{
startActivityForResult(createCameraIntent(), REQUEST_CAMERA_CODE);
}
/** 拍照Intent */
private Intent createCameraIntent()
{
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);// 拍照
Intent imageIntent = new Intent(Intent.ACTION_GET_CONTENT);// 选择图片文件
imageIntent.setType("image/*");
return cameraIntent;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (null != data)
{
CameraActivity.actionCamera(getActivity(), data.getData());
}
super.onActivityResult(requestCode, resultCode, data);
}
}