Получение ошибки при отображении активности DialogFragment

#java #android

#java #Android

Вопрос:

С помощью приведенного ниже кода я получаю эту ошибку:

ошибка:’;’ ожидаемый DialogFragment.show((Activity) _context).getSupportFragmentManager(), «Диалог»));

 @Override
public View getChildView(int groupPosition, final int childPosition,
                         boolean isLastChild, View convertView, ViewGroup parent) {

    final String childText = (String) getChild(groupPosition, childPosition);

    if (convertView == null) {
        LayoutInflater infalInflater = (LayoutInflater) this._context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = infalInflater.inflate(R.layout.list_item, null);
    }

    TextView txtListChild = (TextView) convertView.findViewById(R.id.lblListItem);
    Button btnListChild = (Button) convertView.findViewById(R.id.btn);
    btnListChild.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            CustomDialogClass dialogFragment = new CustomDialogClass();
            dialogFragment.show((Activity) _context).getSupportFragmentManager(), "Dialog"));
        }
    });

    txtListChild.setText(childText);
    return convertView;
}
 

Комментарии:

1. Что вам действительно нужно, так это передать диспетчер фрагментов в качестве первого параметра метода show, а второй — строку тега. Итак, чтобы использовать диспетчер фрагментов, вы должны сделать это.. ((Activity) _context).getSupportFragmentManager() и все, что вам не хватает, это несколько правильных закрывающих фигурных скобок.

2. @JeelVankhede хорошо, я отредактировал его, теперь эта ошибка: ‘;’ ожидаемый DialogFragment.show((Activity) _context).getSupportFragmentManager(), «Диалог»);

3. Нет, это все еще неправильный синтаксис, используйте это: dialogFragment.show(((Activity) _context).getSupportFragmentManager(), "Dialog");

4. все еще получаю ошибки.

Ответ №1:

Измените DialogFragment.show((Activity) _context).getSupportFragmentManager(), «Диалог»)); на DialogFragment.show((Activity) _context.getSupportFragmentManager(), «Диалог»);

Комментарии:

1. ` ошибка: не удается найти символ DialogFragment.show((Activity) _context.getSupportFragmentManager(), «Диалог»); ^ символ: метод getSupportFragmentManager() местоположение: переменная _context типа Context `

2. Используете ли вы тему AppCompat? Если это приведет _context к AppCompatActivity