2013-12-24 3 views
0

второй день в андроиде самостоятельно учить и увидел этот код bleow. от того, что я понял, что мне кажется, что код получение значения кнопкикод описание. метод внутри метода и некоторый другой синтаксис

final Button GetServerData = (Button) findViewById(R.id.GetServerData); 

и тогда я не знаю, что случилось. Будучи из PHP фона этот синтаксис выглядит очень незнакомым, что метод вызывается в качестве параметра методы здесь

GetServerData.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 

       // WebServer Request URL 
       String serverURL = "http://androidexample.com/media/webservice/JsonReturn.php"; 

       // Use AsyncTask execute Method To Prevent ANR Problem 
       new LongOperation().execute(serverURL); 
      } 
     });  

Я также не уверен, что Посмотреть arg0 есть.

public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.rest_ful_webservice); 

    final Button GetServerData = (Button) findViewById(R.id.GetServerData); 

    GetServerData.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 

      // WebServer Request URL 
      String serverURL = "http://androidexample.com/media/webservice/JsonReturn.php"; 

      // Use AsyncTask execute Method To Prevent ANR Problem 
      new LongOperation().execute(serverURL); 
     } 
    });  

} 
+0

Их называют анонимными классами. –

ответ

2

1) Этот тип литья, метод
findViewById возвращает что-то, метод
, который назвал его отбрасывает результат Баттона.

2) Этот анонимный класс, это класс
реализует интерфейс, класс определяется
прямо на месте его использования.

3) Интерфейс OnClickListener
по-видимому, имеет один метод называется
OnClick и имеет один вид аргумент.
Вот что такое arg0. Но это не
, похоже, используется в классе реализации.
Название arg0 не имеет особого значения.
Вы также можете назвать его x или y или что-то еще.

Смежные вопросы