"package com.android.project;
import java.sql.SQLException;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.util.Log;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.Button;
import android.widget.CursorAdapter;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import android.widget.Toast;
public class DiaryActivity extends Activity implements OnClickListener,
OnItemClickListener {
public static final String ROW_ID = "row_id";
static long row_passed;
ImageButton add;
ListView list;
public static int position_item;
static long id_item_clicked;
SimpleCursorAdapter myAdapter;
DataHolder myDataHolder;
EditText Text;
static String title = "";
static String story = "";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initialiseVariables();
registerForContextMenu(list);
add.setOnClickListener(this);
}
private void initialiseVariables() {
// TODO Auto-generated method stub
add = (ImageButton) findViewById(R.id.addButton);
list = (ListView) findViewById(R.id.mylist);
try {
myDataHolder = new DataHolder(DiaryActivity.this);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
myDataHolder.open();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
String error = e.toString();
Dialog d = new Dialog(this);
d.setTitle("Error");
TextView tv = new TextView(this);
tv.setText(error);
d.setContentView(tv);
d.show();
} finally {
Cursor c = myDataHolder.getAll();
c.moveToFirst();
// Log.d("Message", c.getString(1));
myAdapter = new SimpleCursorAdapter(DiaryActivity.this,
R.layout.mystoryholder, c, new String[] {
DataHolder.KEY_TITLE, DataHolder.KEY_DAY,
DataHolder.KEY_MONTH, DataHolder.KEY_YEAR },
new int[] { R.id.titleTag, R.id.tvDate, R.id.tvMonth,
R.id.tvYear });
list.setAdapter(myAdapter);
list.setOnItemClickListener(this);
myDataHolder.close();
}
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.addButton:
Intent goTo = new Intent(DiaryActivity.this, AddInfo.class);
startActivity(goTo);
break;
}
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
registerForContextMenu(arg1);
id_item_clicked = arg3;
position_item = arg2;
Cursor c = (Cursor) arg0.getItemAtPosition(arg2);
title = c.getString(c.getColumnIndex(DataHolder.KEY_TITLE));
story = c.getString(c.getColumnIndex(DataHolder.KEY_STORY));
Intent i = null;
// remove this toast later
Toast.makeText(DiaryActivity.this, "TestClick", Toast.LENGTH_SHORT)
.show();
try {
i = new Intent(DiaryActivity.this,
Class.forName("com.android.project.DataReadSQLite"));
i.putExtra(ROW_ID, arg3);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
startActivity(i);
}
}
/*
* @Override public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
* int arg2, long arg3) { // TODO Auto-generated method stub
*
* return false; }
*/
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
super.onCreateContextMenu(menu, v, menuInfo);
menu.add("EDIT");
menu.add("READ");
menu.add("DELETE");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
// TODO Auto-generated method stub
if (item.getTitle() == "EDIT") {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item
.getMenuInfo();
Cursor c = (Cursor) list.getItemAtPosition(position_item);
title = c.getString(c.getColumnIndex(DataHolder.KEY_TITLE));
story = c.getString(c.getColumnIndex(DataHolder.KEY_STORY));
Intent goforedit = null;
goforedit = new Intent(DiaryActivity.this, DataView.class);
goforedit.putExtra(ROW_ID, id_item_clicked);
startActivity(goforedit);
} // still need to work on
if (item.getTitle() == "READ") {
// reads the data entered
// over write the date if edit button in the new activity is clicked
}
if (item.getTitle() == "DELETE") {
// delete the data entry
// deletes the corresponding entry
}
return super.onContextItemSelected(item);
}
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
}
}"