Não é um erro de classe restrita

rahul2234

Estou tentando definir o adaptador, mas está me dando o erro não é uma classe delimitadora em meu método onCreateView na linha abaixo.

CustomAdapter adapter = new CustomAdapter(SecondYearFragment.this, sub);      

Aqui está meu Actvity.xml

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/content_main">

</FrameLayout>

<android.support.design.widget.BottomNavigationView
    android:id="@+id/navigation"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginEnd="0dp"
    android:layout_marginStart="0dp"
    android:background="?android:attr/windowBackground"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:menu="@menu/navigation" />

E aqui está o fragment_third_year.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SecondYearFragment">

<ListView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/listviewthird"/></RelativeLayout>

Aqui está o sec_year_dept.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">


<ImageView
    android:id="@+id/image_below"
    android:layout_width="match_parent"
    android:layout_height="150dp"
    android:src="@drawable/background_1" />

<TextView
    android:id="@+id/dept_name"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:paddingBottom="@dimen/text_padding_top_bottom"
    android:paddingLeft="@dimen/text_padding_left_right"
    android:paddingRight="@dimen/text_padding_left_right"
    android:paddingTop="@dimen/text_padding_top_bottom"
    android:text="@string/app_name"
    android:textSize="@dimen/text_size"
    android:textStyle="bold" /></RelativeLayout>

Aqui está a classe ThirdYearFragment

public class ThirdYearFragment extends Fragment {
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";

ListView mListview;
String[] sub = {"random1", "random2", "random3", };

// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;

private OnFragmentInteractionListener mListener;

public ThirdYearFragment() {
    // Required empty public constructor
}

public static ThirdYearFragment newInstance(String param1, String param2) {
    ThirdYearFragment fragment = new ThirdYearFragment();
    Bundle args = new Bundle();
    args.putString(ARG_PARAM1, param1);
    args.putString(ARG_PARAM2, param2);
    fragment.setArguments(args);
    return fragment;
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (getArguments() != null) {
        mParam1 = getArguments().getString(ARG_PARAM1);
        mParam2 = getArguments().getString(ARG_PARAM2);
    }
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {


    // Inflate the layout for this fragment
    View view = inflater.inflate(R.layout.fragment_third_year, container, true);

    ListView listView = view.findViewById(R.id.listviewsecond);
    CustomAdapter adapter = new CustomAdapter(SecondYearFragment.this, sub);
    listView.setAdapter(adapter);
    return view;
} }

E aqui está meu adaptador personalizado

public  class CustomAdapter extends ArrayAdapter<String> {
String[] subjects;
Context mContext;

public CustomAdapter(@NonNull Context context, String[] subjects) {
    super(context, R.layout.sec_year_dept);
    this.subjects = subjects;
    this.mContext = context;
}

@Override
public int getCount() {
    return subjects.length;   //returns the size of the list
}

@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
    ViewHolder mViewHolder = new ViewHolder();
    if(convertView == null) {
        LayoutInflater mInflator = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = mInflator.inflate(R.layout.sec_year_dept, parent, false);
        mViewHolder.mSubjects = (TextView) convertView.findViewById(R.id.dept_name);
        mViewHolder.mSubjects.setText(subjects[position]);
        convertView.setTag(mViewHolder);
    }else {
        mViewHolder = (ViewHolder) convertView.getTag();
    }
    return convertView;
}
static class ViewHolder {
    TextView mSubjects;
}}

Alguém pode me explicar o que está acontecendo e o que estou perdendo?

Levi Moreira

Experimente isto:

CustomAdapter adapter = new CustomAdapter(this.getContext(), sub); 

Você fez referência a um fragmento que não foi instanciado no fragmento atual SecondYearFragment. Portanto, ainda não terá um contexto.

Além disso, fragmentos não são contextos, portanto não funcionaria mesmo se fosse instanciado.

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Erro Cassandra - a coluna de cluster não pode ser restrita (a coluna anterior é restrita por uma relação não EQ)

Erro Cassandra - a coluna de cluster não pode ser restrita (a coluna anterior é restrita por uma relação não EQ)

Classe restrita de escrita datilografada em uma união discriminada

Erro de classe restrita GAE ao conectar ao banco de dados SQLite

Minha classe não é um erro de servlet

Não é um erro de classe anexo Android Studio

erro: 'numeric_limits' não é um modelo de classe

classe enum: não nomeia um erro de valor

Não é um erro de classe envolvente (Android)

Classe de diálogo sem janela restrita não visível

MATLAB: descobrir classe restrita de propriedades

Por que não é um "novo" erro de lançamento se a classe não é declarada no PHP?

Erro de domínio matemático de Scipy minimizar otimização restrita SLSQP

A conexão RJDBC com o Amazon RedShift produz um erro de classe .jfindClass não encontrada

Erro ao criar interface de implementação de objeto: A classe não tem um construtor

'PolishStack' não é um modelo de classe, erro fantasma de função virtual

erro ggadjustedcurves: deve usar um vetor em '[', não um objeto da matriz de classe

Erro de compilação do Visual Studio: "Estar na Internet ou zona restrita"

Inscrever-se não é uma classe restrita

A classe Node.js v6.2.0 estende não é um erro de função?

Erro de configuração do bean Spring Data: Não é um tipo gerenciado: classe

O tipo de <classe> é um erro incorreto no netbeans

Por que há um erro na especialização de classe?

Por que, ao usar Mystic em Python para otimizar uma otimização não linear restrita, recebo um erro 'não pode simplesmente desigualdades'?

Importar classe de script para os testes Jasmine (<tipo> não é um erro de construtor)

O aplicativo de inicialização Spring não inicia devido a um erro de classe de serviço

Erro fatal: a classe não pode ser transmitida para outra classe com um clique de botão

Erro de código: "Não é um membro de dados não estáticos ou classe base de"

Por que não é um erro de compilação se você passar um objeto de classe para scanf?

TOP lista

  1. 1

    R Shiny: use HTML em funções (como textInput, checkboxGroupInput)

  2. 2

    O Chromium e o Firefox exibem as cores de maneira diferente e não sei qual deles está fazendo certo

  3. 3

    Como assinar digitalmente um documento PDF com assinatura e texto visíveis usando Java

  4. 4

    R Folheto. Dados de pontos de grupo em células para resumir muitos pontos de dados

  5. 5

    Gerenciar recurso shake de Windows Aero com barra de título personalizado

  6. 6

    Como obter dados API adequados para o aplicativo angular?

  7. 7

    UITextView não está exibindo texto longo

  8. 8

    Por que meus intervalos de confiança de 95% da minha regressão multivariada estão sendo plotados como uma linha de loess?

  9. 9

    Acessando relatório de campanhas na AdMob usando a API do Adsense

  10. 10

    Usando o plug-in Platform.js do Google

  11. 11

    Como posso modificar esse algoritmo de linha de visada para aceitar raios que passam pelos cantos?

  12. 12

    Dependência circular de diálogo personalizado

  13. 13

    Coloque uma caixa de texto HTML em uma imagem em uma posição fixa para site para desktop e celular

  14. 14

    iOS: como adicionar sombra projetada e sombra de traço no UIView?

  15. 15

    Como usar a caixa de diálogo de seleção de nomes com VBA para enviar e-mail para mais de um destinatário?

  16. 16

    Tabela CSS: barra de rolagem para a primeira coluna e largura automática para a coluna restante

  17. 17

    How to create dynamic navigation menu select from database using Codeigniter?

  18. 18

    Converter valores de linha SQL em colunas

  19. 19

    ChartJS, várias linhas no rótulo do gráfico de barras

  20. 20

    用@StyleableRes注释的getStyledAttributes。禁止警告

  21. 21

    não é possível adicionar dependência para com.google.android.gms.tasks.OnSuccessListener

quentelabel

Arquivo