Solucionado (ver solução)
Solucionado
(ver solução)
9
respostas

Erro

Ola,

Estou enfrentando esse erro Caused by: java.lang.IncompatibleClassChangeError: The method 'java.io.File android.support.v4.content.ContextCompat.getNoBackupFilesDir(android.content.Context)' was expected to be of type virtual but instead was found to be of type direct (declaration of 'java.lang.reflect.ArtMethod' appears in /system/framework/core-libart.jar)

e não consigo achar o problema, alguém poderia me ajudar?

9 respostas

Oi Claudinei, tudo bem ?

Posta o código para gente ver e poder te dar um suporte um pouco melhor!

Abraços


public class Layout extends AppCompatActivity {

    private TextView stickyView;
    private ListView listView;
    private View heroImageView;

    private View stickyViewSpacer;

    private int MAX_ROWS = 200;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_lista_clientes);

        listView = (ListView) findViewById(R.id.listView);
        heroImageView = findViewById(R.id.heroImageView);
        stickyView = (TextView) findViewById(R.id.stickyView);


        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View listHeader = inflater.inflate(R.layout.list_header, null);
        stickyViewSpacer = listHeader.findViewById(R.id.stickyViewPlaceholder);


        listView.addHeaderView(listHeader);


        listView.setOnScrollListener(new AbsListView.OnScrollListener() {

            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {
            }

            @Override
            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {


                if (listView.getFirstVisiblePosition() == 0) {
                    View firstChild = listView.getChildAt(0);
                    int topY = 0;
                    if (firstChild != null) {
                        topY = firstChild.getTop();
                    }

                    int heroTopY = stickyViewSpacer.getTop();
                    stickyView.setY(Math.max(0, heroTopY + topY));


                    heroImageView.setY(topY * 0.5f);
                }
            }
        });



        List<String> modelList = new ArrayList<>();
        for (int i = 0; i < MAX_ROWS; i++) {
            modelList.add("List item " + i);
        }

        ArrayAdapter adapter = new ArrayAdapter(this, R.layout.list_row, modelList);
        listView.setAdapter(adapter);
    }
}

Claudinei,

Pode falar em qual linha está dando problema ?

ArrayAdapter adapter = new ArrayAdapter(this, R.layout.list_row, modelList); listView.setAdapter(adapter);

Quando eu troco "R.layout.list_row" por uma ArrayList personalizada

Como está seu Adapter personalizado ?


<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#666666">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="75dp"
        android:background="#424242"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="5dp"
        android:layout_marginRight="5dp"
        android:orientation="horizontal">


        <ImageView
            android:id="@+id/imagem_lista"
            android:layout_width="65dp"
            android:layout_height="65dp"
            android:layout_marginLeft="5dp"
            android:layout_marginTop="5dp"
            android:src="@drawable/im_agua_vida" />



        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:paddingLeft="10dp">


            <TextView
                android:id="@+id/nome_fantasia_lista"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Empresa"
                android:textSize="14sp"
                android:textStyle="bold"
                android:paddingLeft="10dp"
                android:layout_marginTop="10dp"
                android:textColor="#82c12c" />


            <TextView
                android:id="@+id/nome_bairro_lista"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Bairro"
                android:textColor="#ffffff"
                android:textSize="12sp"
                android:paddingLeft="10dp"
                android:textStyle="normal" />


            <TextView
                android:id="@+id/nome_cidade_lista"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:text="Cidade"
                android:textSize="12sp"
                android:textColor="#ffffff"
                android:paddingLeft="10dp"
                android:textStyle="normal"/>


            <ImageView
                android:id="@+id/estrelalista"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:src="@drawable/im_estrelas_lista" />
solução!

Cladinei, tudo bem ?

Cara, acabei de reparar uma coisa, você está tentando usar o seu layout dentro do ArrayAdapter, é isso ?

O ArrayAdapter, só sabe popular um campo, um tipo de layout, o android.R.layout.simple_list_item_1.

Você vai ter que criar o seu Adapter para que isso funcione, aqui no curso de Android nós vemos como criar um adapter mais robusto !

Mas vou te dar um spoiler, para criar o Adapter você vai precisar criar uma classe e vai ter que extender de BaseAdapter para que sua classe também seja um Adapter, quando fizer isso vai ter que sobreescrever 4 métodos ! E aí é só deixar o Android utilizar a sua classe e fica tudo certo :D

Abraços :D

Blz... Vou fazer aqui

Bacana, qualquer coisa pode abrir outro tópico !