У меня есть класс и деятельность. Мне нужно реализовать интерфейс для отслеживания всякий раз, когда есть изменение в переменной в классе, тогда оно должно отражать активность. Может кто-нибудь объяснить, как использовать интерфейс для этой цели?Как использовать интерфейс для общения между классами и действиями
ответ
Этот код можно использовать для ссылки, создать интерфейс для отслеживания событий, реализовать этот интерфейс в своей деятельности и установить его обратный вызов из события изменения переменной класс.
interface ChangeListener{
public void onVarChanged(String value);
}
class Abc{
String var ="";
ChangeListener changeListeners;
public Abc(ChangeListener changeListeners){
this.changeListeners = changeListeners;
}
public void setVar(String str){
var = str;
changeListeners.onVarChanged(var);
}
}
class MyActivity extends Activity implements ChangeListner{
/*
your stuff...........
*/
onCreate(...){
Abc abc = new Abc(this);
abc.setVar("My new string");
}
@Override
public void onVarChanged(String value)
{
Log.v("","==== Variable is changed ==== "+value);
}
}
Схема наблюдателя здесь подходит. Посмотрите на это http://developer.android.com/reference/java/util/Observable.html. Управлением будет Observer
, а другим классом будет Observable
Большое спасибо. То, что вы сказали, абсолютно полезно. Но мне нужно сделать полный интерфейс, чтобы я мог использовать его везде, где захочу. Мне в основном нужно учиться с нуля, как работает интерфейс для общения между классами и действиями. Спасибо – HimanshuGargas
Надеюсь, это поможет вам и спросит меня, есть ли какие-либо вопросы. –
hi naran, не могли бы вы рассказать мне, как получить измененное значение в моей активности. – HimanshuGargas
Взгляните на измененный ответ. Теперь вы также можете получить измененное значение. –