0

フラグメントを拡張するクラスがあります

public class  oUnit  extends Fragment {

リストを埋めて線形レイアウトに追加したいので、次のコードを使用します

public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
                 ProgressDialog connectionProgressDialog = new 

ProgressDialog( getActivity());
          connectionProgressDialog.setCancelable(false);
          connectionProgressDialog.setCanceledOnTouchOutside(false);
          connectionProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
          connectionProgressDialog.setMessage("Uploading Leads...");
          connectionProgressDialog.show();

         View view = inflater.inflate(
                    R.layout.chemounit,
                    container,
                    false);


        //Intialize the record Grid
         LinearLayout formLayout = (LinearLayout)view.findViewById(R.id.UnitGrid);
        formLayout.removeAllViews();

        MainGrid = new ListView(getActivity().getApplicationContext());              
        MainGrid.setVisibility(ListView.VISIBLE);
         LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                 LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
         params.gravity = Gravity.RIGHT;
         MainGrid.setLayoutParams(params);


         //2. Call the web Service 



         GlobalVariables appState = (GlobalVariables) getActivity().getApplication();

         Log.d(" in Chemo unit"," the array is has "+  appState.encounters.size());

         MainGrid.setAdapter(new Encounteradapter(view.getContext(),R.id.ChemoUnitGrid ,  appState.encounters));
        // Finally add it 

         formLayout.addView(MainGrid);


       connectionProgressDialog.dismiss();

     return view;
    }

グローバル変数リストはnullではなく、データが含まれていると確信しています(以前log.d はその長さを表示していました)、アダプタークラスは次のようになります

public class Encounteradapter   extends ArrayAdapter<Encounter> {

    private final Context context;

    TextView textViewTime ;
    TextView textViewPatientName;
    Button ButottonArrive ;
    Button ButottonEncounter;
    Button ButottonExit; 
    ArrayList<Encounter> Encounters ; 

    public Encounteradapter(Context context, int  ResourceId,
            ArrayList<Encounter> items)
    {


        super(context, ResourceId, items);
        this.context = context;
         this.Encounters = items ; 
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        View rowView = inflater.inflate(R.layout.chemounitgrid, parent, false);




        Encounter EncounterObject = Encounters.get(position);

         textViewTime = (TextView) rowView.findViewById(R.id.Time);
        textViewTime.setText(EncounterObject.bookingDate);

        textViewPatientName = (TextView) rowView.findViewById(R.id.Time);
        textViewPatientName.setText(EncounterObject.Name);

        ButottonArrive = (Button) rowView.findViewById(R.id.test1);
        ButottonEncounter = (Button) rowView.findViewById(R.id.test2);
        ButottonExit = (Button) rowView.findViewById(R.id.test3);

        rowView.setTag(position);




        return rowView;
    }
}

しかし、何も表示されませんリストが表示されません。設定したプロパティのセクションも削除しようとしましたが、何も表示されません

これは、フラグメント OnCreate() の進行状況を表示しようとする 2 番目の問題ですが、次のコードを使用しているようには見えません。

  connectionProgressDialog = new ProgressDialog(getActivity());
  connectionProgressDialog.setCancelable(false);
  connectionProgressDialog.setCanceledOnTouchOutside(false);
  connectionProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
  connectionProgressDialog.setMessage("Uploading Leads...");
  connectionProgressDialog.show(); 

それを修正する方法があれば、フラグメントで何か見逃していますか

4

2 に答える 2

4

onCreateView でこれを試してください

View view=inflater.inflate(R.layout.chemounit, container, false);
  ProgressDialog connectionProgressDialog = new ProgressDialog(getActivity());
  connectionProgressDialog.setCancelable(false);
  connectionProgressDialog.setCanceledOnTouchOutside(false);
  connectionProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
  connectionProgressDialog.setMessage("Uploading Leads...");
 connectionProgressDialog.show();
 return view;
于 2016-11-24T13:55:16.030 に答える
2

onCreateViewメソッドでレイアウトを膨らませてセットアップするため、画面に何も表示されないのは正常ですがListView、ビュー(データを配置した場所でのそのフラグメントのレイアウト)を返すときは、次のListViewようにします。

return inflater.inflate(R.layout.chemounit, container, false);

これにより、レイアウトファイルが空で再び膨張しますListView(したがって、最初に膨張した を破棄したため、以前に行ったすべての設定は役に立ちませんでしたView)。代わりに、次を返す必要があります。

return view;
于 2012-06-12T07:31:20.060 に答える