Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.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 addView未显示项目_Android - Fatal编程技术网

Android addView未显示项目

Android addView未显示项目,android,Android,我试图从Api获取JSON对象,并将其显示在LinearLayout上的清单上。即使我将清单视图添加到容器中,它也不会显示。在这种情况下,我是否必须使用notifyDataSetChanged(),如果是,我如何在LinearLayout中实现它 多谢各位。我为我的英语道歉 public class NasilYapilir extends Fragment { int index; private CheckBox checkBox; private CheckBox

我试图从Api获取JSON对象,并将其显示在LinearLayout上的清单上。即使我将清单视图添加到容器中,它也不会显示。在这种情况下,我是否必须使用
notifyDataSetChanged()
,如果是,我如何在LinearLayout中实现它

多谢各位。我为我的英语道歉

public class NasilYapilir extends Fragment {

    int index;
    private CheckBox checkBox;
    private CheckBox[] checkBoxes;
    List<Reciep> reciepList =  new ArrayList<>();
    LinearLayout linearLayout;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_nasil_yapilir, container, false);
        index = getArguments().getInt(DetailViewPager.KEY_INDEX_TAG);
        load_data(index);
        linearLayout = (LinearLayout) view.findViewById(R.id.linearLayout);
        checkBoxes = new CheckBox[reciepList.size()];

        populateDirections(reciepList,linearLayout);
        Log.i("we are in nasil yaplir",index + "");
        return view;
    }

    public void populateDirections(List<Reciep> reciep, ViewGroup container){
        int i = 0;
        for(Reciep recieps : reciep){
            checkBoxes[i] = new CheckBox(getActivity());
//            checkBoxes[i].setPadding(8,16,8,16);
            checkBoxes[i].setText(recieps.getQuantity()+ " "+ recieps.getUnit_ad()+ " "+ recieps.getIngredients_ad());
            reciep.size();
            container.addView(checkBoxes[i]);
            i++;
        }

    }

    public void load_data(int index) {
        task.execute("http://yemekapp.kuarkdijital.com.tr/v_recipe.php?id=" + index);
    }
    AsyncTask<String, Void, String> task = new AsyncTask<String, Void, String>() {

        @Override
        protected String doInBackground(String... params) {

            URL url;
            HttpURLConnection URLConnection = null;
            String current = "";

            try {
                url = new URL(params[0]);

                URLConnection = (HttpURLConnection) url.openConnection();
                URLConnection.connect();

                InputStream inputStream = URLConnection.getInputStream();

                InputStreamReader reader = new InputStreamReader(inputStream);

                int data = reader.read();

                while (data != -1) {
                    current += (char) data;
                    data = reader.read();
                }

                JSONObject itemObject = null;
                JSONObject quantityObject = null;
//                JSONObject popularObject = null;

                JSONObject jsonObject = new JSONObject(current);


                String item = jsonObject.getString("item");


                JSONArray itemArray = new JSONArray(item);
//                JSONArray popularArray = new JSONArray(popular);

                for (int i = 0; i < itemArray.length(); i++) {

                    itemObject = itemArray.getJSONObject(i);
                    String itemsQuantity = itemObject.getString("items");
                    JSONArray quantityArray = new JSONArray(itemsQuantity);
                    for(int j = 0; j<quantityArray.length() ;j++){
                        quantityObject = quantityArray.getJSONObject(i);
                        Reciep reciep = new Reciep(quantityObject.getString("Quantity"),quantityObject.getString("unit_ad"),quantityObject.getString("ingredient_ad"));
                        reciepList.add(reciep);
                        Log.i("quatityArray",quantityArray.get(j).toString());
                    }

//                    popularObject = popularArray.getJSONObject(i);

//                    DailyData DailyData = new DailyData(dailyObject.getInt("id"), dailyObject.getString("Servings"), dailyObject.getString("Title"), dailyObject.getString("CookTime"), dailyObject.getString("Image"));
//                    DailyData PopularData = new DailyData(popularObject.getInt("id"), popularObject.getString("Servings"), popularObject.getString("Title"), popularObject.getString("CookTime"), popularObject.getString("Image"));
//                    daily_data_list.add(DailyData);
//                    popular_data_list.add(PopularData);
                }

            }
            catch (JSONException e) {
                e.printStackTrace();
            }
            catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }

            return current;
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
//            notifyDataSetChanged();


        }


   };
}
公共类NasilYapilir扩展了片段{
整数指数;
私有复选框;
私有复选框[]复选框;
List reciepList=new ArrayList();
线性布局线性布局;
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图=充气机。充气(R.layout.fragment\u nasil\u yapilir,容器,假);
index=getArguments().getInt(DetailViewPager.KEY\u index\u标记);
加载数据(索引);
linearLayout=(linearLayout)view.findViewById(R.id.linearLayout);
复选框=新复选框[reciepList.size()];
填充方向(接收列表、线性布局);
Log.i(“我们在nasil yaplir”,索引+”);
返回视图;
}
public void populatedDirections(列表接收、视图组容器){
int i=0;
for(receip receip:receip){
复选框[i]=新复选框(getActivity());
//复选框[i]。设置填充(8,16,8,16);
复选框[i].setText(receips.getQuantity()+“”+receips.getUnit_ad()+“”+receips.getComponents_ad());
接收大小();
container.addView(复选框[i]);
i++;
}
}
公共无效荷载_数据(整数索引){
任务。执行(“http://yemekapp.kuarkdijital.com.tr/v_recipe.php?id=“+索引);
}
AsyncTask任务=新建AsyncTask(){
@凌驾
受保护的字符串doInBackground(字符串…参数){
网址;
HttpURLConnection-URLConnection=null;
字符串current=“”;
试一试{
url=新url(参数[0]);
URLConnection=(HttpURLConnection)url.openConnection();
URLConnection.connect();
InputStream InputStream=URLConnection.getInputStream();
InputStreamReader reader=新的InputStreamReader(inputStream);
int data=reader.read();
while(数据!=-1){
当前+=(字符)数据;
data=reader.read();
}
JSONObject itemObject=null;
JSONObject quantityObject=null;
//JSONObject popularObject=null;
JSONObject JSONObject=新JSONObject(当前);
stringitem=jsonObject.getString(“item”);
JSONArray itemArray=新的JSONArray(项目);
//JSONArray popularray=新的JSONArray(流行);
对于(int i=0;i
public class NasilYapilir extends Fragment {

int index;
private CheckBox checkBox;
private CheckBox[] checkBoxes;
List<Reciep> reciepList =  new ArrayList<>();
LinearLayout linearLayout;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_nasil_yapilir, container, false);

    index = getArguments().getInt(DetailViewPager.KEY_INDEX_TAG);
    linearLayout = (LinearLayout) view.findViewById(R.id.linearLayout);
    checkBoxes = new CheckBox[reciepList.size()];

    load_data(index);


    //populateDirections(reciepList,linearLayout);
    Log.i("we are in nasil yaplir",index + "");
    return view;
}

public void populateDirections(List<Reciep> reciep, ViewGroup container){
    int i = 0;
    for(Reciep recieps : reciep){
        checkBoxes[i] = new CheckBox(getActivity());
//            checkBoxes[i].setPadding(8,16,8,16);
        checkBoxes[i].setText(recieps.getQuantity()+ " "+ 
    recieps.getUnit_ad()+ " "+ recieps.getIngredients_ad());
        reciep.size();
        container.addView(checkBoxes[i]);
        i++;
    }

}

public void load_data(int index) {
    task.execute("http://yemekapp.kuarkdijital.com.tr/v_recipe.php?id=" + index);
}

AsyncTask<String, Void, String> task = new AsyncTask<String, Void, String>() {

    @Override
    protected String doInBackground(String... params) {

        URL url;
        HttpURLConnection URLConnection = null;
        String current = "";

        try {
            url = new URL(params[0]);

            URLConnection = (HttpURLConnection) url.openConnection();
            URLConnection.connect();

            InputStream inputStream = URLConnection.getInputStream();

            InputStreamReader reader = new InputStreamReader(inputStream);

            int data = reader.read();

            while (data != -1) {
                current += (char) data;
                data = reader.read();
            }


        }
        catch (JSONException e) {
            e.printStackTrace();
        }
        catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        return current;
    }

    @Override
    protected void onPostExecute(String current) {
        super.onPostExecute(current);

            if(current.isEmpty())
                return;

            JSONObject itemObject = null;
            JSONObject quantityObject = null;

            JSONObject jsonObject = new JSONObject(current);


            String item = jsonObject.getString("item");


            JSONArray itemArray = new JSONArray(item);

            for (int i = 0; i < itemArray.length(); i++) {

                itemObject = itemArray.getJSONObject(i);
                String itemsQuantity = itemObject.getString("items");
                JSONArray quantityArray = new JSONArray(itemsQuantity);
                for(int j = 0; j<quantityArray.length() ;j++){
                    quantityObject = quantityArray.getJSONObject(i);
                    Reciep reciep = new Reciep(quantityObject.getString("Quantity"),quantityObject.getString("unit_ad"),quantityObject.getString("ingredient_ad"));
                    reciepList.add(reciep);
                    Log.i("quatityArray",quantityArray.get(j).toString());
                }


            }


            populateDirections(reciepList,linearLayout);



    }
 }
}
公共类NasilYapilir扩展了片段{
整数指数;
私有复选框;
私有复选框[]复选框;
List reciepList=new ArrayList();
线性布局线性布局;
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图=充气机。充气(R.layout.fragment\u nasil\u yapilir,容器,假);
index=getArguments().getInt(DetailViewPager.KEY\u index\u标记);
linearLayout=(linearLayout)view.findViewById(R.id.linearLayout);
复选框=新复选框[reciepList.size()];
加载数据(索引);
//填充方向(接收列表、线性布局);
Log.i(“我们在nasil yaplir”,索引+”);
返回视图;
}
public void populatedDirections(列表接收、视图组容器){
int i=0;
for(receip receip:receip){
复选框[i]=新复选框(getActivity());
//复选框[i]。设置填充(8,16,8,16);
复选框[i].setText(receips.getQuantity()+“”+
receips.getUnit_ad()+“”+receips.getComponents_ad());
接收大小();
container.addView(复选框[i]);
i++;
}
}
公共无效荷载_数据(整数索引){
任务。执行(“http://yemekapp.kuarkdijital.com.tr/v_recipe.php?id=“+索引);
}
AsyncTask任务=新建AsyncTask(){
@凌驾
受保护的字符串doInBackground(字符串…参数){
网址;
HttpURLConnection-URLConnection=null;
字符串current=“”;
试一试{
url=新url(参数[0]);
URLConnection=(HttpURLConnection)url.openConnection();
URLConnection.connect();
InputStream InputStream=URLConnection.getInputStream();
InputStreamReader reader=新的InputStreamReader(inputStream);
int data=reader.read();
while(数据!=-1){
当前+=(字符)数据;
data=reader.read();
}
}
捕获(JSONException e){
e、 printStackTrace();
}
捕获(格式错误){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
回流;
}
@凌驾
受保护的void onPostExecute(字符串当前){
super.onPostExecute(当前);
if(current.isEmpty())
返回;
JSONObject itemObject=null;
JSONObject quantityObject=null;
JSONObject JSONObject=新JSONObject(当前);
stringitem=jsonObject.getString(“item”);
JSONArray itemArray=新的JSONArray(项目);
对于(int i=0;i