为什么我们需要将View对象传递给某些方法?

时间:2016-07-05 13:06:54

标签: android android-view

我是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() {.....}

4 个答案:

答案 0 :(得分:2)

这个问题在这里得到解答: Why do you need to pass an object of type View to this method? 请仔细检查。

祝你好运

答案 1 :(得分:1)

我参加了一些Udacity课程 - 我希望他们稍后会使用这个View对象。如果不是 - 在现实世界的情况下,这将是一个意外的实现。预期方法中的参数将由该方法使用。如果我是你的话,我不会为此流汗 - 继续前进!

答案 2 :(得分:0)

在这种情况下,对象视图确实无用。

但是在其他情况下,例如在片段中你会像这样做一些从膨胀的布局视图中获取视图:

Get-AppxPackage -AllUsers | ft Name, PackageFullName -AutoSize

答案 3 :(得分:0)

用户界面中的每个项目都是Android View类的子类(确切地说是android.view.View)。 Android SDK提供了一组预构建的视图,可用于构建用户界面。典型示例包括标准项,如Button,CheckBox,ProgressBar和TextView类。这些视图也称为小部件。

视图也可以包含多个其他视图(也称为复合视图)。这些视图是从Android ViewGroup类(android.view.ViewGroup)继承的,它本身是View的子类。这种观点的一个例子是RadioGroup,