Я хочу показать два пользовательских диалога в одном упражнении - PullRequest
0 голосов
/ 02 июля 2018

Как показать два пользовательских диалога в одном упражнении. Когда я нажимаю на один запрос обучения, он должен перейти к Gmail и процедуры должны перейти на страницу пользовательского списка. Смотрите изображение ниже.

enter image description here

public void showProcedureDialog (final ArrayList список процедур) {

  final Dialog dialog = new Dialog(activity);
  dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
  dialog.setContentView(R.layout.procedure_dialog_layout);
  dialog.setCanceledOnTouchOutside(true);

  procedureListView = (ListView) dialog.findViewById(R.id.procedureList);
  procedureListView.setAdapter(new ProcedureAdapter(procedurelist));
  procedureListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
      @Override
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) {


          String selectedurl =procedurelist.get(position).getURL();  

          Bundle  bundle = new Bundle();
          bundle.putString("url",selectedurl);
          Intent intent = new Intent(getApplicationContext(),ProcedureActivity.class);
          intent.putExtras(bundle);
          startActivity(intent);

          if(dialog!=null){
              dialog.dismiss();
          }

      }
  });

  dialog.show();

public void showRequestTrainingDialog (окончательный список процедур ArrayList) {

  final Dialog dialog = new Dialog(activity);
  dialog.setContentView(R.layout.training_dialog_layout);
  dialog.setCanceledOnTouchOutside(true);


  Bundle bundle = new Bundle();
  bundle.putString("url","https://info.orendatech.com/orenda-training");
  Intent intent = new Intent(getApplicationContext(), RequestTrainingActivity.class);
  intent.putExtras(bundle);
  startActivity(intent);

  if (dialog!=null){
      dialog.dismiss();
  }
  dialog.show();

открытый класс. ProcessAdapter расширяет BaseAdapter {

.
  private ArrayList<ProcedureRootDto> procedurelist;
  private LayoutInflater inflater;
  private TextView procedurename;

  public ProcedureAdapter(ArrayList<ProcedureRootDto> procedurelist){
      this.procedurelist = procedurelist;
      inflater = LayoutInflater.from(activity);
  }

  @Override
  public int getCount() {
      return (procedurelist == null) ? 0 : procedurelist.size();
  }


  @Override
  public Object getItem(int position) {
      return procedurelist.get(position);
  }

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

  @Override
  public View getView(int position, View convertView, ViewGroup parent) {

      if(convertView==null){
          convertView =    inflater.inflate(R.layout.procedure_item_layout,parent,false);
      }

      procedurename = (TextView) convertView.findViewById(R.id.procedurename);
      procedurename.setText(procedurelist.get(position).getName());

      return convertView;
  }

Процедуры работают нормально, но, нажав на тренинг по запросу, перейдите по ссылке на процедуры

1 Ответ

0 голосов
/ 02 июля 2018

Попробуйте это,

отредактирован:

final Dialog dialog = new Dialog(activity);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.procedure_dialog_layout);
dialog.setCanceledOnTouchOutside(true);

procedureListView = (ListView) dialog.findViewById(R.id.procedureList);
procedureListView.setAdapter(new ProcedureAdapter(procedurelist));
procedureListView.setOnItemClickListener(new AdapterView.OnItemClickListener() 
{
  @Override
  public void onItemClick(AdapterView<?> parent, View view, int position, long 
 id) {


      String selectedurl =procedurelist.get(position).getURL();  

      if(positon==1){  /// for procedure click

         Bundle  bundle = new Bundle();
         bundle.putString("url",selectedurl);
         Intent intent = new 
         Intent(getApplicationContext(),ProcedureActivity.class);
         intent.putExtras(bundle);
         startActivity(intent);
     }else{ //// for other click

         Bundle bundle = new Bundle();
         bundle.putString("url","https://info.orendatech.com/orenda- 
         training");
          Intent intent = new Intent(getApplicationContext(), 
          RequestTrainingActivity.class);
          intent.putExtras(bundle);
          startActivity(intent);
     }

      if(dialog!=null){
          dialog.dismiss();
      }

  }
 });

dialog.show();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...