-1

when i try to launch my app everything work fine but when i open a class from the menu, it does not open. im new to android programming. Help me please..thank you

keep getting this message

Unfortunately, (App Name) has stopped."

Here is my java

package com.e_attendance;

import android.app.Activity;
import android.app.AlertDialog.Builder;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class ManageClass extends Activity implements OnClickListener
{

    EditText editClassno;
    Button btnAdd, btnDelete, btnModify, btnViewAll;
    SQLiteDatabase db;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.classdetail);

        editClassno = (EditText) findViewById(R.id.editClassno);
        btnAdd.setOnClickListener(this);
        btnDelete.setOnClickListener(this);
        btnModify.setOnClickListener(this);
        btnViewAll.setOnClickListener(this);

        db = openOrCreateDatabase("ClassDB", Context.MODE_PRIVATE, null);
        db.execSQL("CREATE TABLE IF NOT EXISTS class (classno VARCHAR);");

    }

    @Override
    public void onClick(View view) {

        if (view == btnAdd) {

            if (editClassno.getText().toString().trim().length() == 0)

            {

                showMessage("Error", "Enter a Class No please");
                return;
            }

            db.execSQL("INSERT INTO class VALUES('" + editClassno.getText()
                    + "');");
            showMessage("Success", "Record added");
            clearText();
        }

        if (view == btnDelete) {
            if (editClassno.getText().toString().trim().length() == 0) {
                showMessage("Error", "Please enter Classno");
                return;
            }
            Cursor c = db.rawQuery("SELECT * FROM class WHERE classno='"
                    + editClassno.getText() + "'", null);
            if (c.moveToFirst()) {
                db.execSQL("DELETE FROM class WHERE classno='"
                        + editClassno.getText() + "'");
                showMessage("Success", "Record Deleted");
            } else {
                showMessage("Error", "Invalid Classno");
            }
            clearText();
        }

        if (view == btnModify) {
            if (editClassno.getText().toString().trim().length() == 0) {
                showMessage("Error", "Please enter Classno");
                return;
            }
            Cursor c = db.rawQuery("SELECT * FROM class WHERE classno='"
                    + editClassno.getText() + "'", null);

            if (c.moveToFirst()) {
                db.execSQL("UPDATE class SET class WHERE classno='"
                        + editClassno.getText() + "'");
                showMessage("Success", "Record Modified");

            } else {
                showMessage("Error", "Invalid Clasno");
            }
            clearText();
        }

        if (view == btnViewAll) {
            Cursor c = db.rawQuery("SELECT * FROM class", null);
            if (c.getCount() == 0) {
                showMessage("Error", "No records found");
                return;
            }
            StringBuffer buffer = new StringBuffer();
            while (c.moveToNext()) {
                buffer.append("Classno: " + c.getString(0) + "\n");
                ;
            }
            showMessage("Classes No.", buffer.toString());
        }

    }

    public void clearText() {
        editClassno.setText("");

        editClassno.requestFocus();
    }

    public void showMessage(String title, String message) {
        Builder builder = new Builder(this);
        builder.setCancelable(true);
        builder.setTitle(title);
        builder.setMessage(message);
        builder.show();
    }
}

my xml

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/myLayout2"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="0" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="110dp"
        android:layout_y="10dp"
        android:text="Class Section" />

    <Button
        android:id="@+id/btnAdd"
        android:layout_width="100dp"
        android:layout_height="40dp"
        android:layout_x="30dp"
        android:layout_y="200dp"
        android:text="@string/add" />

    <Button
        android:id="@+id/btnDelete"
        android:layout_width="100dp"
        android:layout_height="40dp"
        android:layout_x="150dp"
        android:layout_y="200dp"
        android:text="@string/delete" />

    <Button
        android:id="@+id/btnModify"
        android:layout_width="100dp"
        android:layout_height="40dp"
        android:layout_x="30dp"
        android:layout_y="250dp"
        android:text="@string/modify" />

    <Button
        android:id="@+id/btnViewAll"
        android:layout_width="100dp"
        android:layout_height="40dp"
        android:layout_x="30dp"
        android:layout_y="300dp"
        android:text="@string/view_all" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="30dp"
        android:layout_y="102dp"
        android:text="Class_no" />

    <EditText
        android:id="@+id/editClassno"
        android:layout_width="150dp"
        android:layout_height="40dp"
        android:layout_x="120dp"
        android:layout_y="93dp"
        android:ems="10"
        android:inputType="number" />

</AbsoluteLayout>

android manifest

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.e_attendance"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="16"
        android:targetSdkVersion="16" />
    <uses-permission android:name="android.permission.INTERNET"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
- 
        <activity
            android:name="com.e_attendance.HomeActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".SignUPActivity" />
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="com.e_attendance.STARTINGPOINT" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity
            android:name=".Menu"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="com.e_attendance.MENU" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity
            android:name=".OpenNotes"
            android:label="@string/app_name" >
        </activity>
        <activity android:name=".NewText" >
        </activity>

        <activity
            android:name=".ManageClass"
            android:label="@string/app_name" >
        </activity>

        <activity
            android:name=".ManageStudents"
            android:label="@string/app_name" >
        </activity>

    </application>

</manifest>

3 Answers3

1

You haven't find IDs for your all Buttons on onCreate() method. So just do it.

  Button btnAdd, btnDelete, btnModify, btnViewAll;

  btnAdd = (Button) findViewById(R.id.btnAdd);
  btnDelete = (Button) findViewById(R.id.btnDelete);
  btnModify = (Button) findViewById(R.id.btnModify);
  btnViewAll = (Button) findViewById(R.id.btnViewAll);
Piyush
  • 18,895
  • 5
  • 32
  • 63
  • @MunnishDindoyal Your always welcome. I haven't written full code. But i just pointed out to you at where you did a mistake. Accept a answer if this solved. – Piyush Oct 11 '14 at 07:12
  • i modified it and it works great..for info, im making an electronic attendance for my final year project..thank you so much! – Munnish Dindoyal Oct 11 '14 at 07:15
  • hi again.. i have a question, i have two classes one is studentsdetails and the other is classesdetails.. i have added classes in classesdetail which is classno. but how can i make them appear in the studentsdetails which contain classno. also? i want the classno. i added to appear in the studentsdetail also like a listview etc..thank you for replying..just explain me what i need to learn..i will try it – Munnish Dindoyal Oct 11 '14 at 07:55
1

Try this way,hope this will help you to solve your problem.

  @Override
  public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.classdetail);

        editClassno = (EditText) findViewById(R.id.editClassno);
        btnAdd = (Button) findViewById(R.id.btnAdd);
        btnDelete = (Button) findViewById(R.id.btnDelete);
        btnModify = (Button) findViewById(R.id.btnModify);
        btnViewAll = (Button) findViewById(R.id.btnViewAll);
        btnAdd.setOnClickListener(this);
        btnDelete.setOnClickListener(this);
        btnModify.setOnClickListener(this);
        btnViewAll.setOnClickListener(this);

        db = openOrCreateDatabase("ClassDB", Context.MODE_PRIVATE, null);
        db.execSQL("CREATE TABLE IF NOT EXISTS class (classno VARCHAR);");
   }
Haresh Chhelana
  • 24,720
  • 5
  • 57
  • 67
0

You need to create the bridge from Java to XML using the R class as follows:

 @Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.classdetail);

    editClassno = (EditText) findViewById(R.id.editClassno);
    btnAdd = (Button)findViewById(R.id.btnAdd);
    btnDelete= (Button)findViewById(R.id.btnDelete);
    btnModify= (Button)findViewById(R.id.btnModify);
    btnViewAll= (Button)findViewById(R.id.btnViewAll);
    btnAdd.setOnClickListener(this);
    btnDelete.setOnClickListener(this);
    btnModify.setOnClickListener(this);
    btnViewAll.setOnClickListener(this);

    db = openOrCreateDatabase("ClassDB", Context.MODE_PRIVATE, null);
    db.execSQL("CREATE TABLE IF NOT EXISTS class (classno VARCHAR);");

Hope this works fine

Bisho
  • 5
  • 4