Ok, ich erstelle ein Programm, das eine normale globale Klasse verwendet, aber es funktioniert nicht. Ich kann den Wert von Variablen aus dem globalen abrufen, aber ich kann keinen neuen Wert festlegen.kann mir jemand mit meinen globalen Variablen helfen?
Ich habe ein wirklich kurzes Testprogramm erstellt, nur um das zum Laufen zu bringen, damit ich es zu meinem anderen, viel größeren Programm ändern kann.
In diesem kleinen Programm, das ich in der Mitte
alles zu tun, ist es entworfen, um eine Textview und Bearbeiten von Text mit einem Knopf habe, wenn die Schaltfläche geklickt wird das, was in den editText eingegeben wurde und es in einem Variable und die Variable
dann zugleich die Variable von Globals und auf Globals auf diese Variable ... EASY ...
aber es wird nicht bekommen Globals senden, um den Textview Text speichern ...
kann jemand er Bitte, bitte?
Hier ist der globale Code, den ich verwende.
package com.example.arnoldray007.globalstest;
/**
* Created by arnoldray007 on 5/3/2016.
*/
public class Globals
{
private static Globals instance;
//this is the global variable
private String received;
//this restricts the constructor from being instantiated
private Globals(){}
public void setReceived(String r)
{
this.received = r;
}
public String getReceived()
{
return this.received;
}
//this is the global variable
private String send = "Sorry im busy right now.";
public void setSend(String s)
{
this.send = s;
}
public String getSend()
{
return this.send;
}
public static synchronized Globals getInstance()
{
if(instance == null)
{
instance = new Globals();
}
return instance;
}
und hier ist der MainActivity Code, den ich
public class MainActivity extends AppCompatActivity
{
Globals g = Globals.getInstance();
String received = g.getReceived(); //this retrieves the variable
Button button;
EditText editText;
TextView textView;
String temp;
public void myClickThree(View v)//this is my onclickThree for my refresh button
{
temp = editText.getText().toString();
g.setReceived(temp); //this sends the new message to the global variable adding it to it
received = g.getReceived();
editText.setText(received);
}
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
editText = (EditText) findViewById(R.id.editText);
textView = (TextView) findViewById(R.id.textView);
}
}
Vielen Dank für jede Hilfe, die ich ......
Ich erhalte einen Fehler jetzt jemand verwende kann bekommen Sag mir, was das bedeutet?
05-05 09:41:47.476 9601-9601/com.example.arnoldray007.arnoldfinalproject E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.arnoldray007.arnoldfinalproject/com.example.arnoldray007.arnoldfinalproject.Received_messages}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.widget.TextView.append(TextView.java:3118)
at com.example.arnoldray007.arnoldfinalproject.Received_messages.onCreate(Received_messages.java:91)
at android.app.Activity.performCreate(Activity.java:5008)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
ein Tippfehler * Test nicht –
Text Ich glaube, ich Ihnen, indem ich Ihnen globale Variablen helfen könnte, in der Regel, eine schreckliche Idee. –
Dies ist ein Testprogramm lol wird nicht verwendet, nur um herauszufinden, wie der Wert meiner globalen Variable –