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