![](/img/trans.png)
[英]How to set ActionBar title from a getView method inside baseAdapter
[英]How to set layout with XML in View for BaseAdapter getView() method
以下 Java 代碼(來自https://www.intertech.com/Blog/android-adapters-adapterviews/ )來自 getView(),Android Adapter 類的方法實現,它在 Java 中構建了一個視圖來填充項目在一個列表中。 我知道它是如何工作的,但同一個頁面說它可以使用 XML 文件構建,這對我來說很有意義,但我找不到任何示例。 我了解如何使用 XML 資源文件使用 setContentView() 設置 Activity 布局。 但是我將如何調用 XML 資源文件來在 getView() 方法中構建視圖?
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
Context context = parent.getContext();
LinearLayout view = new LinearLayout(context);
view.setOrientation(LinearLayout.HORIZONTAL);
view.addView(new CheckBox(context));
TextView nameTextView = new TextView(context);
nameTextView.setText(courses.get(position).getName());
nameTextView.setPadding(0, 0, 10, 0);
view.addView(nameTextView);
TextView parTextView = new TextView(context);
parTextView.setText(Integer.toString(courses.get(position).getPar()));
view.addView(parTextView);
return view;
}
return convertView;
}
像這樣
item_test.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="name" />
</LinearLayout>
適配器
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Holder holder; // use holder
if (convertView == null) {
convertView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_test, parent, false);
holder = new Holder(convertView);
convertView.setTag(holder);
} else {
holder = (Holder) convertView.getTag();
}
holder.name.setText("name");
return convertView;
}
public class Holder {
private TextView name;
public Holder(View view) {
name = view.findViewById(R.id.name);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.