В Java Runnable не может «возвращать» значение.
В частности, в Android лучший способ справиться с вашим типом сценария - AsyncTask . Это универсальный класс, поэтому вы можете указать тип, который вы хотите передать, и тип, который возвращается в функцию onPostExecute.
В вашем случае вы бы создали AsyncTask<Editable, Void, TypeToReturn>
. Что-то вроде:
private class YourAsyncTask extends AsyncTask<Editable, Void, Integer> {
protected Long doInBackground(Editable... params) {
Editable editable = params[0];
// do stuff with Editable
return theResult;
}
protected void onPostExecute(Integer result) {
// here you have the result
}
}