Rituraj suman
Rituraj suman

Reputation: 216

method call is not working in Android

I tried a lot before putting this Question here.

Messaging msg = new Messaging();

msg.appendToMessageHistorysend(FriendList.ownusername, str);

I am calling appendToMessageHistorysend function from another Activity to messaging class

public void appendToMessageHistorysend(String username, String message) {
        if (username != null && message != null) {

            username1 = "<font color=#FF66CC>" + "<b>" + username + "<b/>"
                    + ":  " + "</font>";

            message1 = "<font color=#ffcc00>" + message + "&#13;&#10;"
                    + "<br/>" + "</font>";

            Thread thread = new Thread() {

                @Override
                public void run() {

                    handler.post(new Runnable() {

                        public void run() {
                                    if (messageHistoryText != null) {
                            messageHistoryText.append(Html
                                    .fromHtml(username1));
                            messageHistoryText.append(Html
                                    .fromHtml(message1));
                        }

                        else {
                            Toast.makeText(mCon, "hey yo you are null",
                                    Toast.LENGTH_LONG).show();
                        }
                        }

                    });
                }

            };
            thread.start();

        }
    }

here is the called function and i am getting error like below

    01-21 15:21:42.552: E/AndroidRuntime(16751): FATAL EXCEPTION: main
01-21 15:21:42.552: E/AndroidRuntime(16751): java.lang.NullPointerException
01-21 15:21:42.552: E/AndroidRuntime(16751):    at at.vcity.androidim.Messaging$7$1.run(Messaging.java:515)
01-21 15:21:42.552: E/AndroidRuntime(16751):    at android.os.Handler.handleCallback(Handler.java:615)
01-21 15:21:42.552: E/AndroidRuntime(16751):    at android.os.Handler.dispatchMessage(Handler.java:92)
01-21 15:21:42.552: E/AndroidRuntime(16751):    at android.os.Looper.loop(Looper.java:137)
01-21 15:21:42.552: E/AndroidRuntime(16751):    at android.app.ActivityThread.main(ActivityThread.java:4812)
01-21 15:21:42.552: E/AndroidRuntime(16751):    at java.lang.reflect.Method.invokeNative(Native Method)
01-21 15:21:42.552: E/AndroidRuntime(16751):    at java.lang.reflect.Method.invoke(Method.java:511)
01-21 15:21:42.552: E/AndroidRuntime(16751):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
01-21 15:21:42.552: E/AndroidRuntime(16751):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
01-21 15:21:42.552: E/AndroidRuntime(16751):    at dalvik.system.NativeStart.main(Native Method)
01-21 15:21:44.704: E/Trace(17053): error opening trace file: No such file or directory (2)

please give your valuable time and i am very thankfull to every body.

Upvotes: 1

Views: 158

Answers (1)

M D
M D

Reputation: 47807

You need Context to display Toast in other class.

So you need to create single argument constructor in your Messaging class like

private Context mCon;
public void Messaging(Context con){
 this.mCon=con;
}

then used like

Toast.makeText(mCon, "Testing",Toast.LENGTH_LONG).show();

and called like

Messaging msg = new Messaging(getApplicationContext());

Upvotes: 2

Related Questions