xml Tablelayout에서 만든 테이블이 10 개 이상 있으며 을 ScrollView가 아닌 ListView에 넣으려고합니다. 테이블은 편집 할 수없고 정보 만위한 것입니다 ... 어댑터에 데이터 소스를 넣는 방법 또는 내가 팽창해야합니까? tnx 및 noobish q에 대해 사과드립니다.ListView에 TableLayout을 표시하는 방법이 있습니까
0
A
답변
0
ListView 행 레이아웃 xml에 TableLayout을 추가하기 만하면됩니다. 내 현재 응용 프로그램에서
예 :
public class DistributorsListAdapter extends ArrayAdapter<String>{
private final Context context;
private final int rowResourceId;
private final JSONArray data;
public DistributorsListAdapter(Context context, int rowResourceId, String[] ids, JSONArray data) {
super(context, rowResourceId, ids);
this.context = context;
this.rowResourceId = rowResourceId;
this.data = data;
}
@Override
public View getView(int position, View v, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(rowResourceId, parent, false);
try {
JSONObject rowData = data.getJSONObject(position);
// Заполняем данными строку списка
setHTMLData(rowView, rowData, "name", R.id.distributor_table_title);
setHTMLData(rowView, rowData, "address", R.id.distributor_address);
setData(rowView, rowData, "website", R.id.distributor_website);
setData(rowView, rowData, "phone", R.id.distributor_phone);
setData(rowView, rowData, "fax", R.id.distributor_fax);
setData(rowView, rowData, "email", R.id.distributor_email);
} catch (JSONException e) {
e.printStackTrace();
}
return rowView;
}
private void setData(View v, JSONObject data, String key, int textViewId) throws JSONException{
TextView tv = (TextView) v.findViewById(textViewId);
tv.setText(data.getString(key));
}
private void setHTMLData(View v, JSONObject data, String key, int textViewId) throws JSONException{
TextView tv = (TextView) v.findViewById(textViewId);
tv.setText(Html.fromHtml(data.getString(key)));
}
}리스트 뷰 행의
XML 레이아웃 :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="@dimen/activity_horizontal_padding"
android:paddingRight="@dimen/activity_horizontal_padding"
android:paddingBottom="@dimen/distributor_table_vertical_padding">
<TextView
android:id="@+id/distributor_table_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/distributor_table_vertical_padding"
android:gravity="center_horizontal"
android:textSize="@dimen/distributor_table_title_text_size"
android:textStyle="bold"/>
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/distributor_address"
android:textSize="@dimen/distributor_table_text_size"/>
<TextView
android:id="@+id/distributor_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/distributor_table_text_size"
android:layout_marginLeft="@dimen/distributor_table_columns_margin"/>
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/distributor_website"
android:textSize="@dimen/distributor_table_text_size"/>
<TextView
android:id="@+id/distributor_website"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/distributor_table_text_size"
android:layout_marginLeft="@dimen/distributor_table_columns_margin"/>
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/distributor_phone"
android:textSize="@dimen/distributor_table_text_size"/>
<TextView
android:id="@+id/distributor_phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/distributor_table_text_size"
android:layout_marginLeft="@dimen/distributor_table_columns_margin"/>
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/distributor_fax"
android:textSize="@dimen/distributor_table_text_size"/>
<TextView
android:id="@+id/distributor_fax"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/distributor_table_text_size"
android:layout_marginLeft="@dimen/distributor_table_columns_margin"/>
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/distributor_email"
android:textSize="@dimen/distributor_table_text_size"/>
<TextView
android:id="@+id/distributor_email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/distributor_table_text_size"
android:layout_marginLeft="@dimen/distributor_table_columns_margin"/>
</TableRow>
</TableLayout>
</LinearLayout>
리스트 뷰에 대한 사용자 정의 어댑터를 작성해야
1
는 (검색하시기 바랍니다 이). 어댑터를 사용하면 ListView 항목 레이아웃을 만들어야합니다. 여기에서 목록보기의 각 행에 대해 테이블을 정의 할 수 있습니다.
희망이 도움이됩니다. :)
관련 문제
- 1. TableLayout을 ScrollView에 넣고 있습니까?
- 2. TableLayout을 사용하여 데이터베이스 테이블 레코드를 표시하는 방법
- 3. FtpClient.listFiles를 사용하여 ListView에 파일을 표시하는 예가 있습니까?
- 4. Uri의 ListView에 이미지를 표시하는 방법
- 5. html 그리드를 표시하는 방법이 있습니까
- 6. TabHost에서 단편을 표시하는 방법이 있습니까?
- 7. SQLite에서 \ flag를 표시하는 방법이 있습니까?
- 8. 정보를 표시하는 다른 방법이 있습니까?
- 9. TableLayout을 여기
- 10. 복잡한 테이블이나 ListView에 배치
- 11. TableLayout을 열 컨텐츠로 포장합니다
- 12. ArrayAdapter로 TableLayout을 바인딩 할 수 있습니까?
- 13. 여러 데이터 소스를 ListView에 추가 할 수있는 방법이 있습니까?
- 14. 어댑터가 비어있을 때 ListView에 사용할 레이아웃을 지정하는 방법이 있습니까?
- 15. arraylist에서 데이터를 분리하고이를 listview에 표시하는 방법은 무엇입니까?
- 16. android에서 TableLayout을 사용하여 프로그래밍 방식으로 항목 목록을 표시하는 방법
- 17. ListView에
- 18. 는 TableLayout을 문제를 갖는
- 19. Textview는 fill_parent에서 tablelayout을 연장합니다.
- 20. json에 URL을 전달하고 android에서 listview에 대한 응답을 표시하는 방법, listview에 표시하는 방법
- 21. ListView에
- 22. 구문 분석 된 XML을 ListView에 표시하는 방법
- 23. ListView에 여러 TextView가 있습니까?
- 24. ListView에 중복 데이터가 있습니까?
- 25. 방법이 내가 ListView에 항목을 추가하는 방법입니다
- 26. LinearLayout에 TableLayout을 동적으로 추가하고 LinearLayout에서 TableLayout을 제거한 다음 다시로드하십시오.
- 27. onCreate 중에 splashscreen을 표시하는 방법이 있습니까?
- 28. MFMailComposeViewController를 사용하여 전자 메일을 표시하는 방법이 있습니까?
- 29. 메모리에 저장된 WPF에서 이미지를 표시하는 방법이 있습니까?
- 30. 석공 술에 최대량의 항목을 표시하는 방법이 있습니까?