getView方法的参数 - android

时间:2013-06-21 13:35:56

标签: android parameters

你能告诉我如何找到这个方法的正确参数: getView(int position,View convertView,ViewGroup parent)

我有一个带有自定义适配器的ListView。列表视图如下所示:

TextView EditText
TextView EditText
TextView EditText ...

convertView和parent参数是什么?

4 个答案:

答案 0 :(得分:1)

当要显示列表项时,将调用自定义适配器的getView方法。您不需要为方法提供参数,Android系统会提供它们。 “parent”将是您的列表视图,当显示第一个列表项时,“convertView”将为null。您还可以重用convertView。实现自定义适配器的正确方法是http://developer.samsung.com/android/technical-docs/Android-UI-Tips-and-Tricks

答案 1 :(得分:1)

所以:

  1. position是数据集中视图显示的数据的位置。
  2. convertView用于回收视图,以便您不会立即运行一堆
  3. parent是视图的包含适配器,对于本例,它将是我认为的ListView。
  4. 我希望这会有所帮助

答案 2 :(得分:1)

你对find有什么意思?

如果你的适配器类中有override getView()方法,那么你将能够知道每一行的观看内容。

这就像是:

@Override
public View getView (int position, View convertView, ViewGroup parent) {
  TextView textView = (TextView) convertView.findViewById(R.id.textView_id);
  EditText editText = (EditText) convertView.findViewById(R.id.editText_id);
  // position param is the the correspondent line on the list to this view, you can use this parameter to do anything like:

  if(position==0) {
      textView.setText("This is the first line!");
  }

 // Do anything you want with your views... populate them. This is the place where will be defined the content of each view.
}

如果您已经填充了列表并希望在选择视图时检索某些值,那么请为ListView实现一个监听器,如下所示。

final ListView list = (ListView) findViewById(R.id.listView_id);

list.setOnItemClickListener(new OnItemClickListener() {

      public void onItemClick(AdapterView<?> adapter, View view, int position, long long) {
          TextView textView = (TextView) view.findViewById(R.id.textView_id); 
          EditText editText = (EditText) view.findViewById(R.id.editText_id);

          String textViewText = textView.getText();
          String editTextText = editText.getText().toString();

      }                 
});

答案 3 :(得分:0)

getView()是一种运行多次的方法,每当您的程序在列表中膨胀它将运行时。 父级是您向其中添加行的自定义适配器。 convertView是适配器中Position位置的行的GUI(视图)。