나는 Android가 처음이며 간단한 질문이 있습니다. 현재 사용자가 다양한 제품을 추가, 제거 및 탐색 할 수있는 제품 응용 프로그램을 개발 중입니다. 응용 프로그램은 미리 정의 된 XML 기반 레이아웃 파일을 템플릿으로 사용하여 전체 화면을 채우고 현재 제품 세부 정보를 표시합니다. 사용자가 새 제품을 추가 할 때 동일한 레이아웃 파일을 다시 사용하지만 새 제품 정보로 채우고 싶습니다. 또한 이전에 추가 된 제품 (예 : ArrayList)을 유지하고 사용자가 가로로 (왼쪽에서 오른쪽 또는 오른쪽에서 왼쪽으로) 밀어서이 목록을 탐색 할 수 있습니다. 이제는 각 제품 (보기, 하위보기 등)을 표현하는 데 가장 좋은 점은 무엇이며 동일한 XML 기반 레이아웃 파일을 재사용하여 다른 제품의 세부 정보를 표시하는 방법입니다. 제 영어 실례와 도움을 미리 부탁드립니다다른 정보를 표시하기 위해 XML 레이아웃 파일 재사용 (Android Application)
0
A
답변
1
ArrayAdapter를 확장하는 새 클래스를 만든 다음 getView() 메서드를 재정 의하여 사용자 정의 레이아웃을 확장 할 수 있습니다. getView()는 단일 행에 대한보기를 리턴합니다. 이렇게하면 레이아웃을 다시 사용할 수 있습니다. (
// The variable products is your initial list of products.
ProductAdapter adapter = new ProductAdapter(this, products);
setListAdapter(adapter);
당신이 adapter.add 중 하나를 호출하여 ArrayAdapter와이를 추가 할 수있는 제품을 추가 : ListActivity 사용의 목록을 표시하려면
public class ProductAdapter extends ArrayAdapter<Product> {
private LayoutInflater li;
public ProductAdapter(Context context, List<Product> products) {
super(context, 0, products);
li = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// Get the product of the position
Product product = getItem(position);
View v = convertView;
if (v == null) {
// Your custom layout file for a single row in the list.
v = li.inflate(R.layout.product_row, null);
}
// Populate your view here. Use v.findViewById().
return v;
}
}
: 그래서 같이 보일 것입니다) (목록 끝에 제품을 추가하려는 경우) 또는 insert() (Product 목록에 새 제품을 삽입 할 위치를 지정) 메소드를 ProductAdapter에 추가하십시오. 그런 다음 adapter.notifyDataSetChanged()를 호출하여 어댑터에 데이터가 변경되었으며 목록을 새로 고쳐야 함을 알릴 수 있습니다.
1
공통 레이아웃이있는 경우을 사용하여 어떤 문제가 발생하면 다른 모든 레이아웃에 공통 레이아웃을 삽입하십시오. –