Правильный первый. Слово object имеет различные значения. В первом случае ты создаёшь объект анонимного класса, который реализует листенер. Во втором случае ты создаёшь синглтон textChangedListener типа textChangedListener(т.е. имена класса и его единственного инстанса совпадают. Кстати, поэтому обжекты-синглтоны обычно именуется с большой буквы.). Во втором случае, естественно, нельзя вызывать другие методы, т.к. обжект не является внутренним(inner) классом. Таким образом, он бесполезен чуть более, чем полностью.