Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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
Android获取视图输入方法更多次_Android_Android Studio_Android Adapter_Android Adapterview - Fatal编程技术网

Android获取视图输入方法更多次

Android获取视图输入方法更多次,android,android-studio,android-adapter,android-adapterview,Android,Android Studio,Android Adapter,Android Adapterview,我有一个带有数组的适配器,当1个对象时restaruants是json,但方法get view运行7次,而不是1次是正确的 如果在方法中得到计数强制返回1不工作,我不知道问题是我的基本适配器还是为什么 所有时间输入7次 public class AdapterName extends BaseAdapter { LayoutInflater inflater; Activity activity; private JSONArray array_restaruants; private AQue

我有一个带有数组的适配器,当1个对象时restaruants是json,但方法get view运行7次,而不是1次是正确的

如果在方法中得到计数强制返回1不工作,我不知道问题是我的基本适配器还是为什么

所有时间输入7次

public class AdapterName extends BaseAdapter {
LayoutInflater inflater;
Activity activity;
private JSONArray array_restaruants;
private AQuery aq;


public AdapterName(Activity a,JSONArray cur_array_restaruants){
    activity= a;
    array_restaruants=cur_array_restaruants;

    aq=new AQuery(activity);
    inflater =(LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}



public static class ViewHolder{

    private Responsive_Linear_Layout linear_content;
    private ImageView logo_empresa;


}

@Override
public int getCount() {
    return array_restaruants.length();
}

@Override
public Object getItem(int i) {
    return i;
}

@Override
public long getItemId(int i) {
    return i;
}

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

    if(convertView == null){

        vi = inflater.inflate(R.layout.template_parent_view, parent,false);


        holder = new ViewHolder();
        holder.linear_content = (Responsive_Linear_Layout) vi.findViewById(R.id.linear_content);
        holder.logo_empresa = (ImageView) vi.findViewById(R.id.logo_empresa);



        vi.setTag( holder );
    }
    else {
        holder = (ViewHolder) vi.getTag();

        try {
            JSONObject obj_restaurant = array_restaruants.getJSONObject(position);
            JSONArray coupons = obj_restaurant.getJSONArray("coupons");
            Log.e("obj_restaurant", obj_restaurant.toString());
            aq.id(holder.logo_empresa).image(obj_restaurant.getString("logo"), false, false);

            for (int i = 0; i < coupons.length(); i++) {
                LayoutInflater inflater2 = LayoutInflater.from(activity);

                JSONObject obj_coupons = coupons.getJSONObject(i);
                View vi2 = inflater2.inflate(R.layout.template_for_items, null, false);
                vi2.setId(i);
                final TextView text_coupon = (TextView) vi2.findViewById(R.id.text_coupon);
                text_coupon.setText(obj_coupons.getString("name"));
                text_coupon.setId(obj_coupons.getInt("id"));

                text_coupon.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        try {
                            Toast.makeText(activity, String.valueOf(v.getId()), Toast.LENGTH_LONG).show();


                        } catch (Exception e) {
                            e.printStackTrace();
                        }

                    }
                });        imageButton.setBackground(activity.getResources().getDrawable(R.drawable.login_usuario_1));
                holder.linear_content.addView(vi2);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    return vi;
}
公共类适配器名称扩展BaseAdapter{
充气机;
活动;
私有JSONArray数组_restaruants;
私人水渠;
公共适配器名称(活动a,JSONArray cur_阵列_餐厅){
活动=a;
array_restaruants=cur_array_restaruants;
aq=新水道(活动);
充气器=(LayoutInflater)activity.getSystemService(Context.LAYOUT\u充气器\u SERVICE);
}
公共静态类视图持有者{
私人响应线性布局线性内容;
私人ImageView徽标_empresa;
}
@凌驾
public int getCount(){
返回数组_restaruants.length();
}
@凌驾
公共对象getItem(int i){
返回i;
}
@凌驾
公共长getItemId(int i){
返回i;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图vi=转换视图;
视窗座;
if(convertView==null){
vi=充气机。充气(R.layout.template\u parent\u视图,parent,false);
holder=新的ViewHolder();
holder.linear内容=(响应性线性布局)vi.findViewById(R.id.linear内容);
holder.logo_empresa=(ImageView)vi.findViewById(R.id.logo_empresa);
vi.setTag(支架);
}
否则{
holder=(ViewHolder)vi.getTag();
试一试{
JSONObject obj_restaurant=array_restaurants.getJSONObject(位置);
JSONArray优惠券=obj_restaurant.getJSONArray(“优惠券”);
Log.e(“obj_restaurant”,obj_restaurant.toString());
aq.id(持有者标识)。图像(obj_restaurant.getString(“标识”),假,假);
对于(int i=0;i

}可能您将
列表视图的高度设置为
包装内容
,您不应该这样做。确保您的身高与父母相配。观看关于
列表视图的google io视频:它有一些提示。

可能重复