XML wont display stored data

TheDaemon

New Member
I have some XML which should be displaying the hour from TimePicker data but every time I try to view the data it force closes. I've narrowed the issue down to an incorrect setup in my XML file(s) but I can't seem to correct the issue and keep the app from force closing. view_country xml\[code\]<?xml version="1.0" encoding="utf-8"?><TableLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent" android:layout_height="wrap_content"android:stretchColumns="1" android:layout_margin="5dp"><TableRow> <TextView style="@style/StyleLabel"android:text="@string/name_lbl"/><TextView android:id="@+id/nameText" style="@style/StyleText"/> </TableRow><TableRow> <TextView style="@style/StyleLabel"android:text="@string/cap_lbl"/> <TextView android:id="@+id/capText"style="@style/StyleText"/> </TableRow><TableRow> <TextView style="@style/StyleLabel"android:text="@string/code_lbl"/> <TextView android:id="@+id/codeText"style="@style/StyleText"/> </TableRow><TableRow> <TextView style="@style/StyleLabel"android:text="Linked Users"/> <TextView style="@style/StyleText"/> </TableRow><TableRow> <TextView style="@style/StyleLabel"android:text="Time Limit"/> <TextView android:id="@+id/timeEdit"style="@style/StyleText"/> </TableRow></TableLayout> ViewCountry java import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.content.Intent;import android.database.Cursor;import android.os.AsyncTask;import android.os.Bundle;import android.view.Menu;import android.view.MenuInflater;import android.view.MenuItem;import android.widget.TextView;import android.widget.TimePicker;public class ViewCountry extends Activity { private long rowID; private TextView nameTv; private TextView capTv; private TextView codeTv; private TextView timeTv; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.view_country); setUpViews(); Bundle extras = getIntent().getExtras(); rowID = extras.getLong(CountryList.ROW_ID); } private void setUpViews() { nameTv = (TextView) findViewById(R.id.nameText); capTv = (TextView) findViewById(R.id.capText); timeTv = (TextView) findViewById(R.id.timeEdit); codeTv = (TextView) findViewById(R.id.codeText); } @Override protected void onResume() { super.onResume(); new LoadContacts().execute(rowID); } private class LoadContacts extends AsyncTask<Long, Object, Cursor> { DatabaseConnector dbConnector = new DatabaseConnector(ViewCountry.this); @Override protected Cursor doInBackground(Long... params) { dbConnector.open(); return dbConnector.getOneContact(params[0]); } @Override protected void onPostExecute(Cursor result) { super.onPostExecute(result); result.moveToFirst(); // get the column index for each data item int nameIndex = result.getColumnIndex("name"); int capIndex = result.getColumnIndex("cap"); int codeIndex = result.getColumnIndex("code"); int timeIndex = result.getColumnIndex("time"); nameTv.setText(result.getString(nameIndex)); capTv.setText(result.getString(capIndex)); timeTv.setText(result.getInt(timeIndex)); codeTv.setText(result.getString(codeIndex)); result.close(); dbConnector.close(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.view_country_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.editItem: Intent addEditContact = new Intent(this, AddEditCountry.class); addEditContact.putExtra(CountryList.ROW_ID, rowID); addEditContact.putExtra("name", nameTv.getText()); addEditContact.putExtra("cap", capTv.getText()); addEditContact.putExtra("code", codeTv.getText()); startActivity(addEditContact); return true; case R.id.deleteItem: deleteContact(); return true; default: return super.onOptionsItemSelected(item); } } private void deleteContact() { AlertDialog.Builder alert = new AlertDialog.Builder(ViewCountry.this); alert.setTitle(R.string.confirmTitle); alert.setMessage(R.string.confirmMessage); alert.setPositiveButton(R.string.delete_btn, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int button) { final DatabaseConnector dbConnector = new DatabaseConnector(ViewCountry.this); AsyncTask<Long, Object, Object> deleteTask = new AsyncTask<Long, Object, Object>() { @Override protected Object doInBackground(Long... params) { dbConnector.deleteContact(params[0]); return null; } @Override protected void onPostExecute(Object result) { finish(); } }; deleteTask.execute(new Long[] { rowID }); } } ); alert.setNegativeButton(R.string.cancel_btn, null).show(); }}Database Connectorimport android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.SQLException;import android.database.sqlite.SQLiteDatabase;public class DatabaseConnector {private static final String DB_NAME = "WorldCountries";private SQLiteDatabase database;private DatabaseOpenHelper dbOpenHelper;public DatabaseConnector(Context context) { dbOpenHelper = new DatabaseOpenHelper(context, DB_NAME, null, 1);} public void open() throws SQLException { //open database in reading/writing mode database = dbOpenHelper.getWritableDatabase(); } public void close() { if (database != null) database.close(); } public void insertContact(String name, String cap, String code, String time) { ContentValues newCon = new ContentValues(); newCon.put("name", name); newCon.put("cap", cap); newCon.put("time", time); newCon.put("code", code); open(); database.insert("country", null, newCon); close(); } public void updateContact(long id, String name, String cap,String code, String time) { ContentValues editCon = new ContentValues(); editCon.put("name", name); editCon.put("cap", cap); editCon.put("time", time); editCon.put("code", code); open(); database.update("country", editCon, "_id=" + id, null); close(); } public Cursor getAllContacts() { return database.query("country", new String[] {"_id", "name"}, null, null, null, null, "name"); } public Cursor getOneContact(long id) { return database.query("country", null, "_id=" + id, null, null, null, null); } public void deleteContact(long id) { open(); database.delete("country", "_id=" + id, null); close(); }}\[/code\]AddEditCountry java\[code\]import android.app.Activity; import android.app.AlertDialog;import android.os.AsyncTask;import android.os.Bundle;import android.view.ViewGroup;import android.view.View;import android.view.View.OnClickListener; import android.widget.Button;import android.widget.EditText;import android.widget.FrameLayout;import android.widget.TimePicker;public class AddEditCountry extends Activity { private long rowID; private EditText nameEt; private EditText capEt; private EditText codeEt; private TimePicker timeEt; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.add_country); nameEt = (EditText) findViewById(R.id.nameEdit); capEt = (EditText) findViewById(R.id.capEdit); codeEt = (EditText) findViewById(R.id.codeEdit); timeEt = (TimePicker) findViewById(R.id.timeEdit); Bundle extras = getIntent().getExtras(); if (extras != null) { rowID = extras.getLong("row_id"); nameEt.setText(extras.getString("name")); capEt.setText(extras.getString("cap")); codeEt.setText(extras.getString("code")); timeEt.setCurrentHour(extras.getInt("time")); } Button saveButton =(Button) findViewById(R.id.saveBtn); saveButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { if (nameEt.getText().length() != 0) { AsyncTask<Object, Object, Object> saveContactTask = new AsyncTask<Object, Object, Object>() { @Override protected Object doInBackground(Object... params) { saveContact(); return null; } @Override protected void onPostExecute(Object result) { finish(); } }; saveContactTask.execute((Object[]) null); } else { AlertDialog.Builder alert = new AlertDialog.Builder(AddEditCountry.this); alert.setTitle(R.string.errorTitle); alert.setMessage(R.string.errorMessage); alert.setPositiveButton(R.string.errorButton, null); alert.show(); } } }); } private void saveContact() { DatabaseConnector dbConnector = new DatabaseConnector(this); if (getIntent().getExtras() == null) { dbConnector.insertContact(nameEt.getText().toString(), capEt.getText().toString(), timeEt.getCurrentHour().toString(), codeEt.getText().toString()); } else { dbConnector.updateContact(rowID, nameEt.getText().toString(), capEt.getText().toString(), timeEt.getCurrentHour().toString(), codeEt.getText().toString()); } }}\[/code\]add_country xml (where TimePicker data which is causing the crash is first entered into the system)\[code\]<?xml version="1.0" encoding="utf-8"?><ScrollView xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1"><LinearLayout android:id="@+id/linearLayout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:padding="5dp"> <EditText android:id="@+id/nameEdit" android:layout_width="fill_parent" android:layout_height="wrap_content" android:imeOptions="actionNext" android:hint="@string/name_hint" android:inputType="textPersonName|textCapWords"/> <EditText android:id="@+id/capEdit" android:layout_width="fill_parent" android:layout_height="wrap_content" android:imeOptions="actionNext" android:hint="@string/cap_hint" android:inputType="textPersonName|textCapWords"/><TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Data Limit" android:textColor="#ffffff" android:textAppearance="?android:textAppearanceMedium" /><SeekBar android:id="@+id/seekBar1" android:layout_width="fill_parent" android:layout_height="wrap_content" /><LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.0" android:gravity="left" android:textColor="#ffffff" android:text="10MB" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.0" android:gravity="right" android:textColor="#ffffff" android:text="Unlimited Data" /></LinearLayout><TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Bandwidth Limit" android:textColor="#ffffff" android:textAppearance="?android:textAppearanceMedium" /><SeekBar android:id="@+id/seekBar1" android:layout_width="fill_parent" android:layout_height="wrap_content" /><LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.0" android:gravity="left" android:textColor="#ffffff" android:text="10kbs" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.0" android:textColor="#ffffff" android:gravity="right" android:text="Unlimited Bandwidth" /></LinearLayout><TextView android:id="@+id/TextView02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:textAppearanceSmall" /><TextView android:id="@+id/TextView02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="WiFi Time Limit" android:textColor="#ffffff" android:textAppearance="?android:textAppearanceMedium" /><TimePicker android:id="@+id/timeEdit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" android:layout_weight="1.0" /><EditText android:id="@+id/codeEdit" android:inputType="textUri" android:layout_width="fill_parent" android:layout_height="wrap_content" android:ems="10" android:lines="1" android:hint="@string/code_hint" android:imeOptions="actionNext" /> <Button android:id="@+id/saveBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:layout_gravity="center_horizontal" android:text="@string/save_btn"/></LinearLayout></ScrollView>\[/code\](UPDATED) LOGCAT:\[code\]03-22 06:14:34.855: D/Activity(4860): Activity.onPause(), editTextTapSensorList size: 003-22 06:14:34.915: I/Adreno200-EGLSUB(4860): <ConfigWindowMatch:2165>: Format RGBA_8888.03-22 06:14:34.915: D/memalloc(4860): ion: Mapped buffer base:0x5d4c3000 size:614400 offset:0 fd:6003-22 06:14:34.965: D/memalloc(4860): ion: Mapped buffer base:0x5d8f7000 size:614400 offset:0 fd:6403-22 06:14:34.985: D/memalloc(4860): ion: Unmapping buffer base:0x5ca41000 size:61440003-22 06:14:34.985: D/memalloc(4860): ion: Unmapping buffer base:0x5dc05000 size:61440003-22 06:14:34.985: D/memalloc(4860): ion: Unmapping buffer base:0x5dc9b000 size:61440003-22 06:14:35.035: D/memalloc(4860): ion: Mapped buffer base:0x5ca41000 size:614400 offset:0 fd:5603-22 06:14:37.748: D/Activity(4860): Activity.onPause(), editTextTapSensorList size: 003-22 06:14:37.828: I/Adreno200-EGLSUB(4860): <ConfigWindowMatch:2165>: Format RGBA_8888.03-22 06:14:37.828: D/memalloc(4860): ion: Mapped buffer base:0x5e131000 size:614400 offset:0 fd:5903-22 06:14:37.828: W/ResourceType(4860): No package identifier when getting value for resource number 0x0000000003-22 06:14:37.828: W/dalvikvm(4860): threadid=1: thread exiting with uncaught exception (group=0x410889d8)03-22 06:14:37.838: E/AndroidRuntime(4860): FATAL EXCEPTION: main03-22 06:14:37.838: E/AndroidRuntime(4860): android.content.res.Resources$NotFoundException: String resource ID #0x003-22 06:14:37.838: E/AndroidRuntime(4860): at android.content.res.Resources.getText(Resources.java:247)03-22 06:14:37.838: E/AndroidRuntime(4860): at android.widget.TextView.setText(TextView.java:3622) 03-22 06:14:37.838: E/AndroidRuntime(4860): at com.nfc.linkingmanager.ViewCountry$LoadContacts.onPostExecute(ViewCountry.java:74)03-22 06:14:37.838: E/AndroidRuntime(4860): at com.nfc.linkingmanager.ViewCountry$LoadContacts.onPostExecute(ViewCountry.java:1) 03-22 06:14:37.838: E/AndroidRuntime(4860): at android.os.AsyncTask.finish(AsyncTask.java:602) 03-22 06:14:37.838: E/AndroidRuntime(4860): at android.os.AsyncTask.access$600(AsyncTask.java:156) 03-22 06:14:37.838: E/AndroidRuntime(4860): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:615) 03-22 06:14:37.838: E/AndroidRuntime(4860): at android.os.Handler.dispatchMessage(Handler.java:99) 03-22 06:14:37.838: E/AndroidRuntime(4860): at android.os.Looper.loop(Looper.java:137)03-22 06:14:37.838: E/AndroidRuntime(4860): at android.app.ActivityThread.main(ActivityThread.java:4477)03-22 06:14:37.838: E/AndroidRuntime(4860): at java.lang.reflect.Method.invokeNative(Native Method)03-22 06:14:37.838: E/AndroidRuntime(4860): at java.lang.reflect.Method.invoke(Method.java:511)03-22 06:14:37.838: E/AndroidRuntime(4860): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:788)03-22 06:14:37.838: E/AndroidRuntime(4860): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)03-22 06:14:37.838: E/AndroidRuntime(4860): at dalvik.system.NativeStart.main(Native Method)\[/code\]
 
Back
Top