import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.EditText;
import android.widget.SimpleCursorAdapter;
import android.widget.Spinner;
import android.widget.AdapterView.OnItemSelectedListener;
import com.myMinistry.R;
import com.myMinistry.db.LiteratureNameColumns;
import com.myMinistry.db.LiteratureTypeColumns;
import com.myMinistry.db.MinistryDatabase;
import com.myMinistry.models.LiteratureName;
public class LiteratureEditor extends Activity {
private MinistryDatabase database;
private LiteratureName _literatureName = new LiteratureName();
private EditText literatureTitle;
private Spinner literatureTypes;
private int literatureNameID = 0;
private int position = 0;
@Override
public void onResume() {
super.onResume();
fetchLiteratureTypes();
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle extras = getIntent().getExtras();
setContentView(R.layout.literature_editor);
if(extras != null) {
Object[] keys = extras.keySet().toArray();
for(int i = 0; i < keys.length; i++) {
if(keys[i].toString().equals("literatureNameID"))
literatureNameID = extras.getInt("literatureNameID");
if(keys[i].toString().equals("position"))
position = extras.getInt("position");
}
}
database = new MinistryDatabase(this);
database.open();
if(literatureNameID > 0) {
Cursor record = database.fetchRecord(MinistryDatabase.LIT_NAMES_TABLE_NAME, new String[] {LiteratureNameColumns._ID,LiteratureNameColumns.PUBLISHER_ID,LiteratureNameColumns.NAME,LiteratureNameColumns.TYPE_ID,LiteratureNameColumns.ACTIVE,LiteratureNameColumns.COUNT_WEIGHT,LiteratureNameColumns.SORT_ORDER}, LiteratureNameColumns._ID, literatureNameID);
if(record.moveToFirst())
_literatureName = new LiteratureName(record);
}
literatureTypes = (Spinner) findViewById(R.id.literatureTypes);
literatureTitle = (EditText) findViewById(R.id.literatureTitle);
literatureTitle.setText(_literatureName.getName());
findViewById(R.id.cancel).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
finish();
}
});
findViewById(R.id.save).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(literatureTitle.getText().length() > 0) {
_literatureName.setName(literatureTitle.getText().toString());
_literatureName.save();
finish();
}
// Failure
else
literatureTitle.setError("Please enter a title.");
}
});
}
private void fetchLiteratureTypes(){
Cursor litTypes = database.fetchRecords(MinistryDatabase.LIT_TYPES_TABLE_NAME, null, LiteratureTypeColumns.ACTIVE + "=1", null, null, null, LiteratureTypeColumns.SORT_ORDER + "," + LiteratureTypeColumns.NAME, null);
SimpleCursorAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), android.R.layout.simple_spinner_item, litTypes, new String[] {LiteratureTypeColumns.NAME}, new int[]{android.R.id.text1});
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
literatureTypes.setAdapter(adapter);
literatureTypes.setOnItemSelectedListener( new litTypeSelector() );
literatureTypes.setSelection(position);
}
public class litTypeSelector implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
_literatureName.setTypeID((int)id);
position = pos;
}
public void onNothingSelected(AdapterView<?> parent) {
// Do nothing.
}
}
}package com.myMinistry.gui;
import android.app.ListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.Spinner;
import android.widget.AdapterView.OnItemSelectedListener;
import com.myMinistry.R;
import com.myMinistry.db.LiteratureNameColumns;
import com.myMinistry.db.LiteratureTypeColumns;
import com.myMinistry.db.MinistryDatabase;
public class LiteratureManager extends ListActivity {
private MinistryDatabase database;
private int literatureTypeID = 0;
@Override
public void onResume() {
super.onResume();
fillData();
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.literature_manager);
database = new MinistryDatabase(this);
database.open();
Spinner literatureTypes = (Spinner) findViewById(R.id.literatureTypes);
Cursor litTypes = database.fetchRecords(MinistryDatabase.LIT_TYPES_TABLE_NAME, null, LiteratureTypeColumns.ACTIVE + "=1", null, null, null, LiteratureTypeColumns.SORT_ORDER + "," + LiteratureTypeColumns.NAME, null);
SimpleCursorAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), android.R.layout.simple_spinner_item, litTypes, new String[] {LiteratureTypeColumns.NAME}, new int[]{android.R.id.text1});
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
literatureTypes.setAdapter(adapter);
literatureTypes.setSelection(0);
literatureTypes.setOnItemSelectedListener(
new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View newview, int newposition, long newID) {
if(literatureTypeID != (int)newID) {
literatureTypeID = (int)newID;
fillData();
}
}
public void onNothingSelected(AdapterView<?> parent) {
// Do nothing.
}
}
);
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Intent intent = new Intent(this, LiteratureEditor.class);
intent.putExtra("literatureNameID", (int)id);
intent.putExtra("position", position);
startActivity(intent);
}
private void fillData() {
Cursor litNames = database.fetchLiterature(literatureTypeID, "active");
startManagingCursor(litNames);
SimpleCursorAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), android.R.layout.simple_list_item_1, litNames, new String[] {LiteratureNameColumns.NAME}, new int[]{android.R.id.text1});
setListAdapter(adapter);
}
}Hello all,
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
No comments:
Post a Comment