Nel codice seguente Eclipse genera un avviso "Questa classe di gestore dovrebbe essere statica o potrebbero verificarsi perdite".Questa classe Handler dovrebbe essere statica o potrebbero verificarsi perdite: handler finale
public class MyActivity extends Activity implements Runnable
{
final Handler handler = new Handler()
{
@Override
public void handleMessage(Message message)
{
String sResult = (String) message.obj;
if((sResult != null) && (sResult != ""))
{
MyNonStatic = (TableLayout) findViewById(R.id.tableLayout); // any non-static method
}
return;
}
};
public void run()
{
final Message message = handler.obtainMessage(1, MyFunction(context));
handler.sendMessage(message);
}
public String MyFunction(Context context)
{
return "MyNewString";
}
}
Rivedere molti argomenti sul sito, ma non ottenere soluzione. Per favore aiutami per questo codice?
Aggiungi: ho bisogno di chiamare il metodo non statico (ad esempio findViewById()) in handleMessage()!
Questo è più o meno lo stesso di questa domanda: http: // StackOverflow. it/questions/11407943/this-handler-class-should-be-static-or-leaks-might-happen-incominghandler – ThomasW