Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从另一个类更改imageview源?_Java_Android_Listview_Android Imageview_Android Adapter - Fatal编程技术网

Java 如何从另一个类更改imageview源?

Java 如何从另一个类更改imageview源?,java,android,listview,android-imageview,android-adapter,Java,Android,Listview,Android Imageview,Android Adapter,我有两个类,第一个是FragmentA,第二个是ListRequestAdapter(ArrayAdapter)。我想从我的FragmentA更改ListRequestAdapter中的ImageView。但是当我在我的FragmentA中声明ImageView时,我总是得到一个错误NullPointerException。我怎么能这么做 这是我的密码: FragmentA.java类: public View onCreateView(LayoutInflater inflater, Vie

我有两个类,第一个是
FragmentA
,第二个是
ListRequestAdapter
(ArrayAdapter)。我想从我的
FragmentA
更改
ListRequestAdapter
中的
ImageView
。但是当我在我的
FragmentA
中声明ImageView时,我总是得到一个错误
NullPointerException
。我怎么能这么做

这是我的密码:

FragmentA.java类:

 public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_item_list_request, container, false);
    setHasOptionsMenu(true);


    listPhoto = (ImageView) getView().findViewById(R.id.listPhoto);
    listPhoto.setImageResource(R.drawable.pastel_blue);

    }
public class ListRequestAdapter extends ArrayAdapter<ListRequestItem> {
ImageView listPhoto;

public ListRequestAdapter(Context context, List<ListRequestItem> items)
{
    super(context, R.layout.style_fragment_list_request, items);

}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder viewHolder;

    if(convertView == null) {
        // inflate the GridView item layout
        LayoutInflater inflater = LayoutInflater.from(getContext());
        convertView = inflater.inflate(R.layout.style_fragment_list_request,  parent, false);

        // initialize the view holder
        viewHolder = new ViewHolder();
        viewHolder.tvTanggal = (TextView) convertView.findViewById(R.id.tvTanggalRequest);
        viewHolder.tvTipe = (TextView) convertView.findViewById(R.id.tvTipeRequest);
        viewHolder.tvStatus = (TextView) convertView.findViewById(R.id.tvStatus);
        viewHolder.permitid = "";
        convertView.setTag(viewHolder);
    } else {
        // recycle the already inflated view
        viewHolder = (ViewHolder) convertView.getTag();
    }

    // update the item view
    ListRequestItem item = getItem(position);
    viewHolder.tvTanggal.setText(item.tanggal);
    viewHolder.tvTipe.setText(item.tipe);
    viewHolder.tvStatus.setText(item.status);
    viewHolder.permitid = item.permitid;
    return convertView;
}

private static class ViewHolder {
    TextView tvTanggal;
    TextView tvTipe;
    TextView tvStatus;
    String permitid;
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tag="reqtag"
android:id="@+id/rlListRequestWorkflow"
>
<LinearLayout
    android:layout_width="match_parent"
    android:orientation="horizontal"
    android:weightSum="1"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="0dp"
        android:layout_weight="0.2"
        android:orientation="vertical"
        android:layout_height="wrap_content">

        <!--ImageView here-->
        <de.hdodenhof.circleimageview.CircleImageView
            android:id="@+id/listPhoto"
            android:layout_width="65dp"
            android:layout_height="63dp"
            android:layout_weight="1"
            android:layout_gravity="center_horizontal"
            android:src="@drawable/ic_menu_camera"
            android:layout_marginTop="10dp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_weight="0.8"
        android:orientation="vertical"
        android:layout_height="wrap_content">

        <!--All textViews here-->
        <TextView
            android:layout_width="100dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Type"
            android:textSize="18dp"
            android:fontFamily="sans-serif"
            android:textColor="@color/black"
            android:id="@+id/tvTipeRequest"
            android:width="130dp" />

        <TextView
            android:layout_width="100dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Date"
            android:fontFamily="sans-serif"
            android:id="@+id/tvTanggalRequest"
            android:textSize="15dp"
            android:width="130dp" />

        <TextView
            android:layout_width="100dp"
            android:layout_weight="1"
            android:layout_height="50dp"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@color/black"
            android:text="Status"
            android:textSize="15dp"
            android:fontFamily="sans-serif"
            android:id="@+id/tvStatus"
            android:layout_column="38" />
    </LinearLayout>

</LinearLayout>
ListRequestAdapter.java类:

 public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_item_list_request, container, false);
    setHasOptionsMenu(true);


    listPhoto = (ImageView) getView().findViewById(R.id.listPhoto);
    listPhoto.setImageResource(R.drawable.pastel_blue);

    }
public class ListRequestAdapter extends ArrayAdapter<ListRequestItem> {
ImageView listPhoto;

public ListRequestAdapter(Context context, List<ListRequestItem> items)
{
    super(context, R.layout.style_fragment_list_request, items);

}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder viewHolder;

    if(convertView == null) {
        // inflate the GridView item layout
        LayoutInflater inflater = LayoutInflater.from(getContext());
        convertView = inflater.inflate(R.layout.style_fragment_list_request,  parent, false);

        // initialize the view holder
        viewHolder = new ViewHolder();
        viewHolder.tvTanggal = (TextView) convertView.findViewById(R.id.tvTanggalRequest);
        viewHolder.tvTipe = (TextView) convertView.findViewById(R.id.tvTipeRequest);
        viewHolder.tvStatus = (TextView) convertView.findViewById(R.id.tvStatus);
        viewHolder.permitid = "";
        convertView.setTag(viewHolder);
    } else {
        // recycle the already inflated view
        viewHolder = (ViewHolder) convertView.getTag();
    }

    // update the item view
    ListRequestItem item = getItem(position);
    viewHolder.tvTanggal.setText(item.tanggal);
    viewHolder.tvTipe.setText(item.tipe);
    viewHolder.tvStatus.setText(item.status);
    viewHolder.permitid = item.permitid;
    return convertView;
}

private static class ViewHolder {
    TextView tvTanggal;
    TextView tvTipe;
    TextView tvStatus;
    String permitid;
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tag="reqtag"
android:id="@+id/rlListRequestWorkflow"
>
<LinearLayout
    android:layout_width="match_parent"
    android:orientation="horizontal"
    android:weightSum="1"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="0dp"
        android:layout_weight="0.2"
        android:orientation="vertical"
        android:layout_height="wrap_content">

        <!--ImageView here-->
        <de.hdodenhof.circleimageview.CircleImageView
            android:id="@+id/listPhoto"
            android:layout_width="65dp"
            android:layout_height="63dp"
            android:layout_weight="1"
            android:layout_gravity="center_horizontal"
            android:src="@drawable/ic_menu_camera"
            android:layout_marginTop="10dp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_weight="0.8"
        android:orientation="vertical"
        android:layout_height="wrap_content">

        <!--All textViews here-->
        <TextView
            android:layout_width="100dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Type"
            android:textSize="18dp"
            android:fontFamily="sans-serif"
            android:textColor="@color/black"
            android:id="@+id/tvTipeRequest"
            android:width="130dp" />

        <TextView
            android:layout_width="100dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Date"
            android:fontFamily="sans-serif"
            android:id="@+id/tvTanggalRequest"
            android:textSize="15dp"
            android:width="130dp" />

        <TextView
            android:layout_width="100dp"
            android:layout_weight="1"
            android:layout_height="50dp"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@color/black"
            android:text="Status"
            android:textSize="15dp"
            android:fontFamily="sans-serif"
            android:id="@+id/tvStatus"
            android:layout_column="38" />
    </LinearLayout>

</LinearLayout>
公共类ListRequestAdapter扩展了ArrayAdapter{
图像视图列表照片;
公共ListRequestAdapter(上下文、列表项)
{
super(上下文、R.layout.style、片段、列表、项目);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
持票人持票人;
if(convertView==null){
//展开GridView项布局
LayoutInflater充气器=LayoutInflater.from(getContext());
convertView=充气机。充气(R.layout.style\u fragment\u list\u request,parent,false);
//初始化视图保持架
viewHolder=新的viewHolder();
viewHolder.tvTanggal=(TextView)convertView.findViewById(R.id.tvTanggalRequest);
viewHolder.tvTipe=(TextView)convertView.findViewById(R.id.tvTipeRequest);
viewHolder.tvStatus=(TextView)convertView.findViewById(R.id.tvStatus);
viewHolder.permitid=“”;
convertView.setTag(viewHolder);
}否则{
//回收已膨胀的视图
viewHolder=(viewHolder)convertView.getTag();
}
//更新项目视图
ListRequestItem=getItem(位置);
viewHolder.tvTanggal.setText(item.tanggal);
viewHolder.tvTipe.setText(item.tipe);
viewHolder.tvStatus.setText(item.status);
viewHolder.permitid=item.permitid;
返回视图;
}
私有静态类视图持有者{
文本视图tvTanggal;
TextView-tvTipe;
文本视图状态;
字符串permitid;
}
}
列表项的布局:

 public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_item_list_request, container, false);
    setHasOptionsMenu(true);


    listPhoto = (ImageView) getView().findViewById(R.id.listPhoto);
    listPhoto.setImageResource(R.drawable.pastel_blue);

    }
public class ListRequestAdapter extends ArrayAdapter<ListRequestItem> {
ImageView listPhoto;

public ListRequestAdapter(Context context, List<ListRequestItem> items)
{
    super(context, R.layout.style_fragment_list_request, items);

}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder viewHolder;

    if(convertView == null) {
        // inflate the GridView item layout
        LayoutInflater inflater = LayoutInflater.from(getContext());
        convertView = inflater.inflate(R.layout.style_fragment_list_request,  parent, false);

        // initialize the view holder
        viewHolder = new ViewHolder();
        viewHolder.tvTanggal = (TextView) convertView.findViewById(R.id.tvTanggalRequest);
        viewHolder.tvTipe = (TextView) convertView.findViewById(R.id.tvTipeRequest);
        viewHolder.tvStatus = (TextView) convertView.findViewById(R.id.tvStatus);
        viewHolder.permitid = "";
        convertView.setTag(viewHolder);
    } else {
        // recycle the already inflated view
        viewHolder = (ViewHolder) convertView.getTag();
    }

    // update the item view
    ListRequestItem item = getItem(position);
    viewHolder.tvTanggal.setText(item.tanggal);
    viewHolder.tvTipe.setText(item.tipe);
    viewHolder.tvStatus.setText(item.status);
    viewHolder.permitid = item.permitid;
    return convertView;
}

private static class ViewHolder {
    TextView tvTanggal;
    TextView tvTipe;
    TextView tvStatus;
    String permitid;
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tag="reqtag"
android:id="@+id/rlListRequestWorkflow"
>
<LinearLayout
    android:layout_width="match_parent"
    android:orientation="horizontal"
    android:weightSum="1"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="0dp"
        android:layout_weight="0.2"
        android:orientation="vertical"
        android:layout_height="wrap_content">

        <!--ImageView here-->
        <de.hdodenhof.circleimageview.CircleImageView
            android:id="@+id/listPhoto"
            android:layout_width="65dp"
            android:layout_height="63dp"
            android:layout_weight="1"
            android:layout_gravity="center_horizontal"
            android:src="@drawable/ic_menu_camera"
            android:layout_marginTop="10dp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_weight="0.8"
        android:orientation="vertical"
        android:layout_height="wrap_content">

        <!--All textViews here-->
        <TextView
            android:layout_width="100dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Type"
            android:textSize="18dp"
            android:fontFamily="sans-serif"
            android:textColor="@color/black"
            android:id="@+id/tvTipeRequest"
            android:width="130dp" />

        <TextView
            android:layout_width="100dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Date"
            android:fontFamily="sans-serif"
            android:id="@+id/tvTanggalRequest"
            android:textSize="15dp"
            android:width="130dp" />

        <TextView
            android:layout_width="100dp"
            android:layout_weight="1"
            android:layout_height="50dp"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@color/black"
            android:text="Status"
            android:textSize="15dp"
            android:fontFamily="sans-serif"
            android:id="@+id/tvStatus"
            android:layout_column="38" />
    </LinearLayout>

</LinearLayout>

只需将包含
图像视图的布局充气即可解决问题,如下所示:

View anotherView =     inflater.inflate(R.layout.style_fragment_list_request,container,false);
imgView = (ImageView)anotherView.findViewById(R.id.listPhoto);`
public class ListRequestAdapter extends ArrayAdapter<ListRequestItem> {

    public ListRequestAdapter(Context context, List<ListRequestItem> items){
        super(context, R.layout.style_fragment_list_request, items);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder viewHolder;
        if(convertView == null) {
            // inflate the GridView item layout
            LayoutInflater inflater = LayoutInflater.from(getContext());
            convertView = inflater.inflate(R.layout.style_fragment_list_request,  parent, false);
            // initialize the view holder
            viewHolder = new ViewHolder();
            viewHolder.imgPhoto = (ImageView) convertView.findViewById(R.id.listPhoto);
            viewHolder.tvTanggal = (TextView) convertView.findViewById(R.id.tvTanggalRequest);
            viewHolder.tvTipe = (TextView) convertView.findViewById(R.id.tvTipeRequest);
            viewHolder.tvStatus = (TextView) convertView.findViewById(R.id.tvStatus);
            viewHolder.permitid = "";
            convertView.setTag(viewHolder);
        } else {
            // recycle the already inflated view
            viewHolder = (ViewHolder) convertView.getTag();
        }
        // update the item view
        ListRequestItem item = getItem(position);

        // Setup ImageView accord to DataList,
        // may be imageID from DataList.
        if(imageID == null) viewHolder.imgPhoto.setVisibility(View.INVISIBLE);
        else{
             viewHolder.imgPhoto.setImageResource(item.imageID);
             viewHolder.setVisibility(VIEW_VISIBLE);
        }

        viewHolder.tvTanggal.setText(item.tanggal);
        viewHolder.tvTipe.setText(item.tipe);
        viewHolder.tvStatus.setText(item.status);
        viewHolder.permitid = item.permitid;
        return convertView;
    }

    private static class ViewHolder {
        ImageView imgPhoto;
        TextView tvTanggal;
        TextView tvTipe;
        TextView tvStatus;
        String permitid;
    }
}

只需将包含
ImageView
的布局充气即可解决此问题,如下所示:

View anotherView =     inflater.inflate(R.layout.style_fragment_list_request,container,false);
imgView = (ImageView)anotherView.findViewById(R.id.listPhoto);`
public class ListRequestAdapter extends ArrayAdapter<ListRequestItem> {

    public ListRequestAdapter(Context context, List<ListRequestItem> items){
        super(context, R.layout.style_fragment_list_request, items);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder viewHolder;
        if(convertView == null) {
            // inflate the GridView item layout
            LayoutInflater inflater = LayoutInflater.from(getContext());
            convertView = inflater.inflate(R.layout.style_fragment_list_request,  parent, false);
            // initialize the view holder
            viewHolder = new ViewHolder();
            viewHolder.imgPhoto = (ImageView) convertView.findViewById(R.id.listPhoto);
            viewHolder.tvTanggal = (TextView) convertView.findViewById(R.id.tvTanggalRequest);
            viewHolder.tvTipe = (TextView) convertView.findViewById(R.id.tvTipeRequest);
            viewHolder.tvStatus = (TextView) convertView.findViewById(R.id.tvStatus);
            viewHolder.permitid = "";
            convertView.setTag(viewHolder);
        } else {
            // recycle the already inflated view
            viewHolder = (ViewHolder) convertView.getTag();
        }
        // update the item view
        ListRequestItem item = getItem(position);

        // Setup ImageView accord to DataList,
        // may be imageID from DataList.
        if(imageID == null) viewHolder.imgPhoto.setVisibility(View.INVISIBLE);
        else{
             viewHolder.imgPhoto.setImageResource(item.imageID);
             viewHolder.setVisibility(VIEW_VISIBLE);
        }

        viewHolder.tvTanggal.setText(item.tanggal);
        viewHolder.tvTipe.setText(item.tipe);
        viewHolder.tvStatus.setText(item.status);
        viewHolder.permitid = item.permitid;
        return convertView;
    }

    private static class ViewHolder {
        ImageView imgPhoto;
        TextView tvTanggal;
        TextView tvTipe;
        TextView tvStatus;
        String permitid;
    }
}

您的回答无助于在ListView中升级ImageView。您只需创建一个与任何内容都不相关的新视图(另一个视图)。要在ListView中更新ImageView,您的数据列表中应该有一些相关信息(ImageID或ImagePath等)。设置/更新信息后,只需在片段内调用adapter.notifyDataSetChanged()

此外,如果没有数据,您可以修改ListRequestAdapter以隐藏ImageView,如下所示:

View anotherView =     inflater.inflate(R.layout.style_fragment_list_request,container,false);
imgView = (ImageView)anotherView.findViewById(R.id.listPhoto);`
public class ListRequestAdapter extends ArrayAdapter<ListRequestItem> {

    public ListRequestAdapter(Context context, List<ListRequestItem> items){
        super(context, R.layout.style_fragment_list_request, items);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder viewHolder;
        if(convertView == null) {
            // inflate the GridView item layout
            LayoutInflater inflater = LayoutInflater.from(getContext());
            convertView = inflater.inflate(R.layout.style_fragment_list_request,  parent, false);
            // initialize the view holder
            viewHolder = new ViewHolder();
            viewHolder.imgPhoto = (ImageView) convertView.findViewById(R.id.listPhoto);
            viewHolder.tvTanggal = (TextView) convertView.findViewById(R.id.tvTanggalRequest);
            viewHolder.tvTipe = (TextView) convertView.findViewById(R.id.tvTipeRequest);
            viewHolder.tvStatus = (TextView) convertView.findViewById(R.id.tvStatus);
            viewHolder.permitid = "";
            convertView.setTag(viewHolder);
        } else {
            // recycle the already inflated view
            viewHolder = (ViewHolder) convertView.getTag();
        }
        // update the item view
        ListRequestItem item = getItem(position);

        // Setup ImageView accord to DataList,
        // may be imageID from DataList.
        if(imageID == null) viewHolder.imgPhoto.setVisibility(View.INVISIBLE);
        else{
             viewHolder.imgPhoto.setImageResource(item.imageID);
             viewHolder.setVisibility(VIEW_VISIBLE);
        }

        viewHolder.tvTanggal.setText(item.tanggal);
        viewHolder.tvTipe.setText(item.tipe);
        viewHolder.tvStatus.setText(item.status);
        viewHolder.permitid = item.permitid;
        return convertView;
    }

    private static class ViewHolder {
        ImageView imgPhoto;
        TextView tvTanggal;
        TextView tvTipe;
        TextView tvStatus;
        String permitid;
    }
}
公共类ListRequestAdapter扩展了ArrayAdapter{
公共ListRequestAdapter(上下文、列表项){
super(上下文、R.layout.style、片段、列表、项目);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
持票人持票人;
if(convertView==null){
//展开GridView项布局
LayoutInflater充气器=LayoutInflater.from(getContext());
convertView=充气机。充气(R.layout.style\u fragment\u list\u request,parent,false);
//初始化视图保持架
viewHolder=新的viewHolder();
viewHolder.imgPhoto=(ImageView)convertView.findViewById(R.id.listPhoto);
viewHolder.tvTanggal=(TextView)convertView.findViewById(R.id.tvTanggalRequest);
viewHolder.tvTipe=(TextView)convertView.findViewById(R.id.tvTipeRequest);
viewHolder.tvStatus=(TextView)convertView.findViewById(R.id.tvStatus);
viewHolder.permitid=“”;
convertView.setTag(viewHolder);
}否则{
//回收已膨胀的视图
viewHolder=(viewHolder)convertView.getTag();
}
//更新项目视图
ListRequestItem=getItem(位置);
//根据数据列表设置ImageView,
//可能是数据列表中的imageID。
if(imageID==null)viewHolder.imgPhoto.setVisibility(View.INVISIBLE);
否则{
viewHolder.imgPhoto.setImageResource(item.imageID);
viewHolder.setVisibility(视图可见);
}
viewHolder.tvTanggal.setText(item.tanggal);
viewHolder.tvTipe.setText(item.tipe);
viewHolder.tvStatus.setText(item.status);
viewHolder.permitid=item.permitid;
返回视图;
}
私有静态类视图持有者{
ImageView imgPhoto;
文本视图tvTanggal;
TextView-tvTipe;
文本视图状态;
字符串permitid;
}
}

希望这有帮助

您的回答无助于在ListView中升级ImageView。您只需创建一个与任何内容都不相关的新视图(另一个视图)。要在ListView中更新ImageView,您的数据列表中应该有一些相关信息(ImageID或ImagePath等)。设置/更新信息后,只需在片段内调用adapter.notifyDataSetChanged()

此外,如果没有数据,您可以修改ListRequestAdapter以隐藏ImageView,如下所示:

View anotherView =     inflater.inflate(R.layout.style_fragment_list_request,container,false);
imgView = (ImageView)anotherView.findViewById(R.id.listPhoto);`
public class ListRequestAdapter extends ArrayAdapter<ListRequestItem> {

    public ListRequestAdapter(Context context, List<ListRequestItem> items){
        super(context, R.layout.style_fragment_list_request, items);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder viewHolder;
        if(convertView == null) {
            // inflate the GridView item layout
            LayoutInflater inflater = LayoutInflater.from(getContext());
            convertView = inflater.inflate(R.layout.style_fragment_list_request,  parent, false);
            // initialize the view holder
            viewHolder = new ViewHolder();
            viewHolder.imgPhoto = (ImageView) convertView.findViewById(R.id.listPhoto);
            viewHolder.tvTanggal = (TextView) convertView.findViewById(R.id.tvTanggalRequest);
            viewHolder.tvTipe = (TextView) convertView.findViewById(R.id.tvTipeRequest);
            viewHolder.tvStatus = (TextView) convertView.findViewById(R.id.tvStatus);
            viewHolder.permitid = "";
            convertView.setTag(viewHolder);
        } else {
            // recycle the already inflated view
            viewHolder = (ViewHolder) convertView.getTag();
        }
        // update the item view
        ListRequestItem item = getItem(position);

        // Setup ImageView accord to DataList,
        // may be imageID from DataList.
        if(imageID == null) viewHolder.imgPhoto.setVisibility(View.INVISIBLE);
        else{
             viewHolder.imgPhoto.setImageResource(item.imageID);
             viewHolder.setVisibility(VIEW_VISIBLE);
        }

        viewHolder.tvTanggal.setText(item.tanggal);
        viewHolder.tvTipe.setText(item.tipe);
        viewHolder.tvStatus.setText(item.status);
        viewHolder.permitid = item.permitid;
        return convertView;
    }

    private static class ViewHolder {
        ImageView imgPhoto;
        TextView tvTanggal;
        TextView tvTipe;
        TextView tvStatus;
        String permitid;
    }
}
公共类ListRequestAdapter扩展了ArrayAdapter{
公共ListRequestAdapter(上下文、列表项){
super(上下文、R.layout.style、片段、列表、项目);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
持票人持票人;
if(convertView==null){
//展开GridView项布局
LayoutInflater充气器=LayoutInflater.from(getContext());
convertView=充气机。充气(R.layout.style\u fragment\u list\u request,parent,false);
//初始化视图保持架