package com.example.mysql_tester;
import com.actionbarsherlock.app.SherlockFragment;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.MenuItem;
import android.app.ActionBar;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.os.Handler;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnFocusChangeListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
public class AddItem extends SherlockFragment {
ActionBar actionbar;
EditText input_Name,input_Address,input_Township;
TextView address_sample;
LinearLayout layout1,layout1_inner;
String input_country = null , current = "";
int sample_loaded = 0;
//�U�Ԧ���檫��
Spinner countrySpinner;
String[] country;
SharedPreferences addItemPre;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceBundle) {
View view = inflater.inflate(R.layout.add_item, container,false);
addItemPre = getActivity().getSharedPreferences("addItem_tmp", 0);
//�q�������o����
input_Name = (EditText)view.findViewById(R.id.editText_name);
input_Address = (EditText)view.findViewById(R.id.editText_address);
input_Township = (EditText)view.findViewById(R.id.editText_township);
countrySpinner = (Spinner)view.findViewById(R.id.spinner_country);
address_sample = (TextView)view.findViewById(R.id.addItem_address_sample);
//Layout��ť
layout1 = (LinearLayout)view.findViewById(R.id.additemp1_layout);
//layout1_inner = (LinearLayout)view.findViewById(R.id.additemp1_layout_inner);
layout1.setOnTouchListener(layoutlistener);
//layout1_inner.setOnTouchListener(layoutlistener);
input_Name.setOnFocusChangeListener(focusChangeListener);
input_Township.setOnFocusChangeListener(focusChangeListener);
input_Address.setOnFocusChangeListener(focusChangeListener);
//�]�w����X��A��Bundle
if (sample_loaded == 0) {
Handler myhandler = new Handler();
myhandler.postDelayed(new Runnable() {
@Override
public void run() {
current = getActivity().getString(R.string.ItemP1_currentCountry);
String txt_AddressSample = addItemPre.getString("sampleAdd1", "");
String txt_Township = addItemPre.getString("sampleAdd2","");
String txt_Address = addItemPre.getString("sampleAdd3","");
String txt_Country = addItemPre.getString("sampleAdd4","");
if (txt_AddressSample != null && !txt_AddressSample.equals(""))
address_sample.setText(txt_AddressSample);
else
address_sample.setText(getActivity().getString(R.string.ItemTab_dataGetError));
if (txt_Township != null && !txt_Township.equals(""))
input_Township.setText(txt_Township);
if (txt_Address != null && !txt_Address.equals(""))
input_Address.setText(txt_Address);
if (txt_Country != null && !txt_Country.equals(""))
current = txt_Country;
else
current = getActivity().getString(R.string.ItemP1_plzChooseCountry);
//country = new String[] {current,"�O�_��","�s�_��","�O����","�O�n��","������","��","��鿤","�s�˿�","�s�˥�","�]�߿�","���ƿ�","�n�뿤","���L��","�Ÿq��","�Ÿq��","�̪F��","�y����","�Ὤ��","�O�F��","���","������","�s����"};
country = getActivity().getResources().getStringArray(R.array.country);
country[0] = current;
spinnerBulider();
}
}, 500);
sample_loaded = 1;
}
else {
address_sample.setText(addItemPre.getString("sampleAdd1", getActivity().getString(R.string.ItemTab_dataGetError)));
spinnerBulider();
}
return view;
}
public void spinnerBulider() {
//�إ�ArrayAdapter
ArrayAdapter<String> adapterCountry = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, country);
//�]�wSpinner����ܮ榡
adapterCountry.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//�]�wSpinner����ƨӷ�
countrySpinner.setAdapter(adapterCountry);
//�]�wSpinner����ť
countrySpinner.setOnItemSelectedListener(spinnerlistener);
}
private OnFocusChangeListener focusChangeListener = new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
addItemPre = getActivity().getSharedPreferences("addItem_tmp", 0);
Editor inputWorker = addItemPre.edit();
switch (v.getId()) {
case R.id.editText_name:
if (!hasFocus)
inputWorker.putString("sName", input_Name.getText().toString());
break;
case R.id.editText_address:
if (!hasFocus)
inputWorker.putString("sLocation", input_Address.getText().toString());
break;
case R.id.editText_township:
if (!hasFocus)
inputWorker.putString("sTownship", input_Township.getText().toString());
break;
}
inputWorker.commit(); //�g�J
}
};
private OnTouchListener layoutlistener = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
informationGeter();
break;
}
return true;
}
};
//Spinner����ťMethod
private Spinner.OnItemSelectedListener spinnerlistener = new Spinner.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v, int position,
long id) {
input_country = parent.getSelectedItem().toString();
if (position == 0 && input_country.equals(getActivity().getString(R.string.ItemP1_plzChooseCountry)))
Toast.makeText(getActivity(), getActivity().getString(R.string.ItemP1_plzChooseCountryToast), Toast.LENGTH_SHORT).show();
else {
addItemPre = getActivity().getSharedPreferences("addItem_tmp", 0);
Editor inputWorker = addItemPre.edit();
inputWorker.putString("sCountry", input_country);
inputWorker.commit();
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
};
/*�T���m�J�p����*/
public void informationGeter() {
String store_name,store_sTownship,store_sLocation;
store_name = input_Name.getText().toString();
store_sTownship = input_Township.getText().toString();
store_sLocation = input_Address.getText().toString();
addItemPre = getActivity().getSharedPreferences("addItem_tmp", 0);
Editor inputWorker = addItemPre.edit();
inputWorker.putString("sName", store_name);
inputWorker.putString("sTownship", store_sTownship);
inputWorker.putString("sLocation", store_sLocation);
inputWorker.commit();
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.forceinput, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_forceinput:
informationGeter();
//Toast.makeText(getActivity(), "test", Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}
/*���}Fragment�ɼg�JBundle*/
@Override
public void onDestroyView(){
super.onDestroyView();
informationGeter();
}
}