2016-07-05 2 views
0

Я новичок в android и имею очень мало опыта работы на Java. Я не понимаю, почему некоторые методы требуют просмотра объектов.Зачем нам нужно просматривать объекты View для некоторых методов?

Это метод, который вызывается при нажатии кнопки на действие.

public void eatCookie(View view) { //Example code inside 

    ImageView previous = (ImageView) findViewById(R.id.android_cookie_image_view); 
    previous.setImageResource(R.drawable.after); 
    TextView previousText = (TextView) findViewById(R.id.status_text_view); 
    previousText.setText("I'm so full!"); 
    } 

В этом коде нет линии, которая использует объект вида. Этот код из учебника udacity. Почему они не смогли сформировать метод «eatCookie» следующим образом:

public void eatCookie() {.....} 
+0

Я не уверен, что это правильное объяснение, но проверить [это] (http://terokarvinen.com/2011/simple-button-for-android-xml-onclick-public-method). Возможно, вам нужно будет проверить, что в файле макета вы можете найти свойство onClick для представления. – Raghavendra

+1

Возможный дубликат [Почему вам нужно передать объект типа View для этого метода?] (Http://stackoverflow.com/questions/21618368/why-do-you-need-to-pass-an-object- из типа вида к этому-методу) –

ответ

0

В этом случае представление объекта действительно бесполезно.

Но в других случаях, как в фрагменте вы могли бы сделать somethnig так, чтобы получить вид из надутого макета:

public void eatCookie(View view) { //Example code inside 
    ImageView previous = (ImageView) view.findViewById(R.id.android_cookie_image_view); 
    previous.setImageResource(R.drawable.after); 
    TextView previousText = (TextView) view.findViewById(R.id.status_text_view); 
    previousText.setText("I'm so full!"); 
} 
1

я взял несколько Udacity курсов - Я ожидаю, что они будут позже использовать эти Просмотреть объект. Если это не так - в сценарии реального мира, это было бы неожиданной реализацией. Предполагается, что этот метод используется в этом методе. Я бы не потел, если бы был вами, продолжайте!

0

Каждый элемент в пользовательском интерфейсе является подклассом класса Android View (точнее, android.view.View). Android SDK предоставляет набор готовых представлений, которые можно использовать для создания пользовательского интерфейса. Типичные примеры включают стандартные элементы, такие как классы Button, CheckBox, ProgressBar и TextView. Такие взгляды также называются виджетами.

Вид может также состоять из нескольких других видов (иначе известный как составной вид). Такие представления подклассы из класса Android ViewGroup (android.view.ViewGroup), который сам по себе является подклассом View. Примером такого вида является RadioGroup,

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