我正在关注Udacity的教程以及我不理解的东西。下面是一个自定义类适配器:
public class WordAdapter extends ArrayAdapter<Word> {
private static final String LOG_TAG = WordAdapter.class.getSimpleName();
public WordAdapter(Activity context, ArrayList<Word> Word) {
super(context, 0, Word);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// Check if the existing view is being reused, otherwise inflate the view
View listItemView = convertView;
if (listItemView == null) {
listItemView = LayoutInflater.from(getContext()).inflate(
R.layout.list_item, parent, false);
}
// Get the {@link AndroidFlavor} object located at this position in the list
Word currentWord = getItem(position);
// Find the TextView in the list_item.xml layout with the ID version_name
TextView defaultTextView = (TextView) listItemView.findViewById(R.id.text_view_one);
// Get the version name from the current AndroidFlavor object and
// set this text on the name TextView
defaultTextView.setText(currentWord.getDefaultTranslation());
// Find the TextView in the list_item.xml layout with the ID version_number
TextView miwokTextView = (TextView) listItemView.findViewById(R.id.text_view_lutti);
// Get the version number from the current AndroidFlavor object and
// set this text on the number TextView
miwokTextView.setText(currentWord.getMiwokTranslation());
ImageView numberImageView = (ImageView) listItemView.findViewById(R.id.image_view_id);
numberImageView.setImageResource(currentWord.getImageResourceID());
// Return the whole list item layout (containing 2 TextViews)
// so that it can be shown in the ListView
return listItemView;
}
}
我们声明了一个名为currentWord
的变量,其数据类型为Word
(自定义类),然后我们在2 TextView
s和1 ImageView
中使用了此变量,其中我们用它来获取文字。我不明白的部分是我们如何在3种方式中使用单个变量等于单个值(getitem(position)
),而不是一个?
答案 0 :(得分:0)
currentWord
引用对象,这意味着它可以拥有用户可以访问的各种public
方法和属性(如果是&#,请查看类的源代码) 39;可供你使用)。
不是那个&#34;相同的变量&#34;用于不同的事物,因为以下各项可能具有不同的值:
currentWord.getDefaultTranslation()
(例如,这可能会返回"Dog"
)。currentWord.getMiwokTranslation()
(例如,这可能会返回"Chuku"
)。currentWord.getImageResourceID()
(例如,这可能会返回327984579294
)。这意味着一个不同的&#34;变量&#34;每次访问,currentWord
用于存储此变量集合。
您可能想了解 Encapsulation 。