아무도 나에게 two_line_list_item 예제를 제공 할 수 있습니까?는 Android에서 Two_line_list_item의 예를 제공 할 수 있습니까?
답변
android.R.layout.two_line_list_item
및 ListView
insted가 ListActivity
인 내장 레이아웃을 실제로 사용하는 예는 아직 찾을 수 없습니다. 그래서 여기에 간다.
바쁘신 경우 TwoLineArrayAdapter.getView()
무시는 기본 two_line_list_item
레이아웃 사용의 중요한 부분입니다.
귀하의 데이터
당신은 당신의 목록 항목을 정의하는 클래스가 있습니다. 나는 당신이 이것들을 가지고 있다고 가정 할 것이다.public class Employee {
public String name;
public String title;
}
추상 TwoLineArrayAdapter
이 추상 클래스는 재사용 할 수, 나중에 두 줄의 ListView
훨씬 쉽게 정의 할 수 있습니다. 은 자신의 레이아웃을 제공 할 수 있지만 두 개의 인수 생성자는 기본 제공 two_line_list_item
레이아웃을 사용합니다. 사용자 지정 목록 항목 레이아웃의 유일한 요구 사항은 및 @android:id/text2
을 사용하여 TextView
개의 자식을 식별해야하며, 마찬가지로 two_line_list_item
과 동일해야합니다.
public abstract class TwoLineArrayAdapter<T> extends ArrayAdapter<T> {
private int mListItemLayoutResId;
public TwoLineArrayAdapter(Context context, T[] ts) {
this(context, android.R.layout.two_line_list_item, ts);
}
public TwoLineArrayAdapter(
Context context,
int listItemLayoutResourceId,
T[] ts) {
super(context, listItemLayoutResourceId, ts);
mListItemLayoutResId = listItemLayoutResourceId;
}
@Override
public android.view.View getView(
int position,
View convertView,
ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater)getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View listItemView = convertView;
if (null == convertView) {
listItemView = inflater.inflate(
mListItemLayoutResId,
parent,
false);
}
// The ListItemLayout must use the standard text item IDs.
TextView lineOneView = (TextView)listItemView.findViewById(
android.R.id.text1);
TextView lineTwoView = (TextView)listItemView.findViewById(
android.R.id.text2);
T t = (T)getItem(position);
lineOneView.setText(lineOneText(t));
lineTwoView.setText(lineTwoText(t));
return listItemView;
}
public abstract String lineOneText(T t);
public abstract String lineTwoText(T t);
}
구체적인 TwoLineArrayAdapter 마지막으로
는, 여기 당신의 ListView
에 렌더링 수 있습니다 있도록 당신이 당신의 직원 클래스에 특정 작성하는 코드입니다.
employees = new Employee[...];
//...populate the employee array...
employeeLV = (ListView)findViewById(R.id.employee_list);
employeeLV.setAdapter(new EmployeeArrayAdapter(this, employees);
끝내 대답, 고마워. 그 컨텍스트에서 올바르게 표시되도록 getDropDownView (int position, View convertView, ViewGroup parent)를 추가로 구현하는 것이 좋습니다. 구현은 다음과 같을 수 있습니다. return getView (...) – Keith
- 1. 스텁 및 드라이버의 실용적인 예를 제공 할 수 있습니까?
- 2. Objects 연산자를 할당 할 수 있습니까? - "예를 들어, +는"
- 3. -dequeueReusableCellWithIdentifier : 메소드에 nil을 제공 할 수 있습니까?
- 4. 는, 예를 들어
- 5. 행을 '채우는'UIPickerView에 UIView를 제공 할 수 있습니까?
- 6. ExtensionRegistry에 새 plugin.xml을 제공 할 수 있습니까
- 7. PHP로 MP3 파일을 제공 할 수 있습니까?
- 8. Android 앱에 서비스를 제공 할 수 있습니까?
- 9. 여러 ContentProvider가 동일한 URI를 제공 할 수 있습니까?
- 10. Android에서 Activity.finish()는 어떻게 작동합니까?
- 11. 는 REGDB_E_CLASSNOTREG을 제공
- 12. 누구나 범주 또는 프로토콜이 아닌 일반 클래스의 목적 C에서 순방향 선언의 예를 제공 할 수 있습니까?
- 13. 는 예를 들어
- 14. Android에서 텍스트를 PDF로 변환 할 수 있습니까?
- 15. Android에서 표면보기에 레이아웃을 추가 할 수 있습니까?
- 16. Android에서 캘린더는 어떻게 확장 할 수 있습니까?
- 17. 누군가가 유용한 InheritanceDemand 예 (링크)를 제공 할 수 있습니까?
- 18. 기준을 지정하면 Android에서 위치 제공 업체가 전환됩니까?
- 19. LINQ-To-SQL - GetTable을 캐시하거나 저장소에서 제공 할 수 있습니까?
- 20. 브라우저에서 쿠키를 설정하지 않고도 ASPX 페이지를 제공 할 수 있습니까?
- 21. Capistrano 작업에 문자열 목록을 제공 할 수 있습니까?
- 22. INNER JOIN이 기존보다 나은 성능을 제공 할 수 있습니까?
- 23. 는 IEqualityComparer의 구현을 개선 할 수 있습니까?
- 24. Android에서 GPS와 네트워크 제공 업체를 동시에 사용하십시오.
- 25. htaccess에 대한 샘플 gzip 코드를 제공 할 수 있습니까?
- 26. 7-zip의 stdout을 PHP 스크립트에 제공 할 수 있습니까?
- 27. 사용자가 Android에서 블루투스를 사용 중지한다고 감지 할 수 있습니까?
- 28. WPF 프로그램에서 특정 글꼴을 팩 할 수 있습니까? 예를 들어
- 29. 클로저에있는 레코드의 필드를 문서화 할 수 있습니까? 예를 들어
- 30. 누군가가 ASP.NET에서 "hello world"로깅 예제를 제공 할 수 있습니까?
[여기] (HTTP : //mylifewithandroid.blogspot
은 Activity.onCreate() 액티비티의
onCreate()
방법에서, 당신은 다음과 같습니다 코드를해야합니다. com/2008/03/my-first-meeting-with-simpleadapter.html)에서 예제를 찾을 수 있습니다. 이 스타일은 두 행의 텍스트가있는 항목을 제공하며 다른 서식을 사용할 수도 있습니다. –
TwoLineListItem보기가 아니므로이 자습서에서는 간단한 ListView를 사용합니다. – mudit