user3220006
user3220006

Reputation: 15

Android app crashes on phone.

I've tried to develop my own app but now that i wanna see how it looks on my phone it says "Appname has stopped". Im installing the app via dropbox.

Here's a copy of the MainActivity.java

    package com.example.aikk;

    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;

    public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button mBtn1 = (Button) findViewById(R.id.northpowerramsor);
    mBtn1.setOnClickListener((OnClickListener) this);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}
/** Called when the user clicks the Send button */
public void onClick(View view) {
    Log.i("clicks","You Clicked B1");
    Intent i=new Intent(MainActivity.this, Ramsor.class);
    startActivity(i);
    // Do something in response to button
}

    }

And here's a copy of Ramsor.java

    public class Ramsor extends Activity {

@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.activity_Ramsor);
            //Vettefan var det här är till med när jag skulle göra quick fix på       den kom jag till nån knas layout sida

    // Make sure we're running on Honeycomb or higher to use ActionBar APIs
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        // Show the Up button in the action bar.
        getActionBar().setDisplayHomeAsUpEnabled(true);
    }
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
        NavUtils.navigateUpFromSameTask(this);
        return true;
    }
    return super.onOptionsItemSelected(item);
  }
}

And the Android.Manifest.xml

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.aikk"
    android:versionCode="1"
    android:versionName="1.0" >
  <uses-sdk
       android:minSdkVersion="1"
       android:targetSdkVersion="19"
       android:maxSdkVersion="19" />
  <application
       android:allowBackup="true"
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name"
       android:theme="@style/AppTheme" >
     <activity
        android:name="com.example.aikk.MainActivity"
        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="com.example.aikk.Ramsor"
        android:label="@string/title_activity_ramsor"
        android:parentActivityName="com.example.AIKK.MainActivity" >
    <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.example.AIKK.MainActivity" /> >
    </activity>

    </application>
  </manifest>

Any thoughts would be GREATLY appreciated!

Upvotes: 0

Views: 93

Answers (4)

Piyush
Piyush

Reputation: 51

try below this instead of mBtn1.setOnClickListener((OnClickListener) this);

mBtn1.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View view) {

       // Activity to do onclick .

    }
});
return true;

Upvotes: 0

Raghunandan
Raghunandan

Reputation: 133580

public class MainActivity extends Activity {

should be

public class MainActivity extends Activity implements OnClickListener {

There can be other reasons for the crash as well in which case it is better you post the stacktrace.

You can do as below using annonymous inner class

mBtn1.setOnClickListener(new OnClickListener()
{
         public void onClick(View v)
         {
           // do something
         }
});

Upvotes: 1

NigelK
NigelK

Reputation: 8490

Change your class definition to implement OnClickListener:

public class MainActivity extends Activity implements OnClickListener {

...and set the click listener on mBtn1 as follows:

mBtn1.setOnClickListener(this);

Upvotes: 0

youssefhassan
youssefhassan

Reputation: 1065

The problem is here , you are trying to cast the activity(this) to OnClickListener

mBtn1.setOnClickListener((OnClickListener) this);

The solution is to make your activity implements OnClickListener and create the unimplemented method

Upvotes: 1

Related Questions