2017-11-03 12 views
0

Androidのフラグメントを使用してリストビューにデータを表示しようとしましたが、データが表示されません。私のコードをチェックしてください。 アダプタクラスは:Androidでフラグメントを使用してリストビューにデータを表示

public class AppAdapter1 extends ArrayAdapter<Apps1> { 

    ArrayList<Apps1> actorList1; 
    LayoutInflater vi; 
    int Resource; 
    ViewHolder holder; 

    public AppAdapter1(Context context, int resource, ArrayList<Apps1> objects) { 
     super(context, resource, objects); 
     vi = (LayoutInflater) context 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     Resource = resource; 
     actorList1 = objects; 
    } 
    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     // convert view = design 
     View v = convertView; 
     if (v == null) { 
      holder = new ViewHolder(); 
      v = vi.inflate(Resource, null); 
      holder.tvName = (TextView) v.findViewById(R.id.tvName); 
      v.setTag(holder); 
     } else { 
      holder = (ViewHolder) v.getTag(); 
     } 
     holder.tvName.setText(actorList1.get(position).getPosition()); 
     return v; 
    } 
    static class ViewHolder { 
     public TextView tvName; 
    } 
} 

public class FragmentThree1 extends Fragment { 
    ArrayList<Apps1> actorsList1; 
    public ListView listView; 
    String val=""; 
    AppAdapter1 adapter; 
    public FragmentThree1() { 
     // Required empty public constructor 
    } 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
    } 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View myFragmentView = inflater.inflate(R.layout.fragment_three_1, container, false); 
     actorsList1 = new ArrayList<Apps1>(); 
new JSONAsyncTask().execute("http://--------------"); 
ListView listview = (ListView) myFragmentView.findViewById(R.id.list); 
     // adapter = new AppAdapter1(getActivity().getApplicationContext(), R.layout.row, actorsList1); 
    adapter = new AppAdapter1(getActivity().getBaseContext(), R.layout.row, actorsList1); 
     listview.setAdapter(adapter); 
     return myFragmentView; 
    } } 

enter image description here

私はJSONのURLからデータを取得し、それを使用してリストビューを表示するにはデータが表示されていません。上記のコードを確認してください。

+0

actorsList1サイズが0 – rajahsekar

+0

actorList1サイズが1枚の –

+0

プリントこのログに "actorList1.get(位置).getPosition()" です。戻り値を確認する –

答えて

0

このクラスJSONAsyncTask().execute("http://--------------");あなたがArrayList actorsList1にデータを追加した後、この行を呼び出します。あなたはDataSet

を変更するには、アダプタをnotifyする必要が

adapter.notifyDataSetChanged(); 

理由アダプタがそうデータを設定しながら、あなたのAsyncタスクが完了したときに、あなたのAsyncクラスがデータをフェッチされているが、それはあなたのを解決します、これを試してみてください問題。

関連する問題