/**
* @description:
* @author chenshiqiang E-mail:csqwyyx@163.com
* @date 2014年5月16日 下午11:07:34
* @version 1.0
*/
package com.csq.thesceneryalong.ui.activitys;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.view.MenuItemCompat;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import com.csq.thesceneryalong.R;
import com.csq.thesceneryalong.db.Track;
import com.csq.thesceneryalong.io.db.TrackDb;
import com.csq.thesceneryalong.ui.activitys.base.BaseActionBarActivity;
import com.csq.thesceneryalong.utils.ToastUtil;
import com.csq.thesceneryalong.utils.edittextfilter.EditTextLengthFilter;
import de.keyboardsurfer.android.widget.crouton.Style;
public class EditTrackActivity extends BaseActionBarActivity {
// ------------------------ Constants ------------------------
public static final String EXTRA_TRACK_ID = "extra_track_id";
// ------------------------- Fields --------------------------
protected EditText etName;
protected EditText etDescrition;
protected long extra_track_id;
protected String strEditTrack;
protected Track track;
// ----------------------- Constructors ----------------------
// -------- Methods for/from SuperClass/Interfaces -----------
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit_track);
etName = getViewById(R.id.etName);
etDescrition = getViewById(R.id.etDescrition);
extra_track_id = getIntent().getLongExtra(EXTRA_TRACK_ID, 0);
strEditTrack = getResources().getString(R.string.strEditTrack);
//默认显示标题
getSupportActionBar().setDisplayShowTitleEnabled(true);
//标题左边返回箭头
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(false);
getSupportActionBar().setTitle(strEditTrack);
viewsInited();
}
protected void viewsInited(){
etName.setFilters(new EditTextLengthFilter[]{new EditTextLengthFilter(20)});
etDescrition.setFilters(new EditTextLengthFilter[]{new EditTextLengthFilter(100)});
track = TrackDb.getInstance().queryById(extra_track_id);
if(track == null){
finish();
return;
}
etName.setText(track.getName());
etDescrition.setText(track.getDescription());
}
@Override
protected void releaseResources() {
// TODO Auto-generated method stub
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
MenuItemCompat.setShowAsAction(menu.add(Menu.NONE, Menu.FIRST, 0, R.string.save)
.setIcon(R.drawable.abc_ic_cab_done_holo_dark),
MenuItemCompat.SHOW_AS_ACTION_ALWAYS);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case android.R.id.home:
finish();
break;
case Menu.FIRST:
String name = etName.getText().toString();
if(!TextUtils.isEmpty(name)){
track.setName(name);
track.setDescription(etDescrition.getText().toString());
TrackDb.getInstance().update(track, true);
finish();
}else{
ToastUtil.showToastInfo(activity,
R.string.name_is_empty,
Style.ALERT,
false);
}
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
// --------------------- Methods public ----------------------
public static final void launch(Context context, long trackId){
Intent i = new Intent(context, EditTrackActivity.class);
i.putExtra(EXTRA_TRACK_ID, trackId);
context.startActivity(i);
}
// --------------------- Methods private ---------------------
// --------------------- Getter & Setter ---------------------
// --------------- Inner and Anonymous Classes ---------------
}