Java Android Studio ListView Hata

jiko

Hectopat
Katılım
3 Mayıs 2020
Mesajlar
440
Çözümler
5
Yer
İzmir
Daha fazla  
Cinsiyet
Erkek
Hocam 2 gündür çözemiyorum. Şöyle bir hata var program açılıyor fakat kapanıyor direk sanırım bir mantık hatası var fakat anlayamadım. ListView ile bir uygulama çalışıyorum. Kodları sırasıyla aşşağı tarafa yazacağım kontrol ederseniz sevinirim.

MainActivity
Java:
package tual.gokmen.com;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.Adapter;
import android.widget.ListView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    List<Cicekler> liste;
    cicekAdapter adp;
    ListView listView;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tanimla();
        listDoldur();
    }
    public void tanimla(){
        listView = (ListView) findViewById(R.id.listView1);

    }
    public void listDoldur(){
        liste = new ArrayList<Cicekler>();
        Cicekler c1 = new Cicekler("Gül","Açıklama",R.drawable.gul);
        Cicekler c2 = new Cicekler("KasımPatı","Açıklama",R.drawable.kasimpati);
        Cicekler c3 = new Cicekler("Lale","Açıklama",R.drawable.lale);
        Cicekler c4 = new Cicekler("Menekşe","Açıklama",R.drawable.menekse);
        Cicekler c5 = new Cicekler("Nergiz","Açıklama",R.drawable.nergiz);
        liste.add(c1);
        liste.add(c2);
        liste.add(c3);
        liste.add(c4);
        liste.add(c5);
        adp = new cicekAdapter((ArrayList<Cicekler>) liste,this);
        listView.setAdapter(adp);
    }
}


ADAPTER
Java:
package tual.gokmen.com;

import android.content.Context;
import android.media.Image;
import android.view.ContentInfo;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

public class cicekAdapter extends BaseAdapter {
    ArrayList<Cicekler> list;
    Context context;

    public cicekAdapter(ArrayList list, Context context) {
        this.list = list;
        this.context = context;
    }

    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public Object getItem(int i) {
        return list.get(i);
    }

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

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        View layout = LayoutInflater.from(context).inflate(R.layout.cicek_karti,null);
        ImageView Img =(ImageView) layout.findViewById(R.id.kartResim);
        TextView isim = (TextView) layout.findViewById(R.id.kartAdi);
        TextView aciklama = (TextView) layout.findViewById(R.id.kartAciklama);

        Img.setImageResource(list.get(i).getConstcicekresim());
        isim.setText(list.get(i).getConstcicekadi());
        aciklama.setText(list.get(i).getConstcicekaciklama());

        return layout;
    }
}


Verileri Tutan Class

Java:
package tual.gokmen.com;

public class Cicekler {
    String constcicekadi;
    String constcicekaciklama;
    int constcicekresim;

    public Cicekler(String constcicekadi, String constcicekaciklama, int constcicekresim) {
        this.constcicekadi = constcicekadi;
        this.constcicekaciklama = constcicekaciklama;
        this.constcicekresim = constcicekresim;
    }

    public String getConstcicekadi() {
        return constcicekadi;
    }

    public void setConstcicekadi(String constcicekadi) {
        this.constcicekadi = constcicekadi;
    }

    public String getConstcicekaciklama() {
        return constcicekaciklama;
    }

    public void setConstcicekaciklama(String constcicekaciklama) {
        this.constcicekaciklama = constcicekaciklama;
    }

    public int getConstcicekresim() {
        return constcicekresim;
    }

    public void setConstcicekresim(int constcicekresim) {
        this.constcicekresim = constcicekresim;
    }
}


HATA



Kod:
2022-09-28 18:31:40.075 15039-15039/? E/AndroidRuntime: FATAL EXCEPTION: main

    Process: tual.gokmen.com, PID: 15039

    java.lang.RuntimeException: Unable to start activity ComponentInfo{tual.gokmen.com/tual.gokmen.com.MainActivity}: android.view.InflateException: Binary XML file line #14 in tual.gokmen.com:layout/activity_main: addView(View, LayoutParams) is not supported in AdapterView

        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3449)

        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)

        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)

        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)

        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)

        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)

        at android.os.Handler.dispatchMessage(Handler.java:106)

        at android.os.Looper.loop(Looper.java:223)

        at android.app.ActivityThread.main(ActivityThread.java:7656)

        at java.lang.reflect.Method.invoke(Native Method)

        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)

        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

     Caused by: android.view.InflateException: Binary XML file line #14 in tual.gokmen.com:layout/activity_main: addView(View, LayoutParams) is not supported in AdapterView

     Caused by: java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView

        at android.widget.AdapterView.addView(AdapterView.java:515)

        at android.view.LayoutInflater.rInflate(LayoutInflater.java:1125)

        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1082)

        at android.view.LayoutInflater.rInflate(LayoutInflater.java:1124)

        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1082)

        at android.view.LayoutInflater.inflate(LayoutInflater.java:680)

        at android.view.LayoutInflater.inflate(LayoutInflater.java:532)

        at android.view.LayoutInflater.inflate(LayoutInflater.java:479)

        at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:710)

        at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:195)

        at tual.gokmen.com.MainActivity.onCreate(MainActivity.java:22)

        at android.app.Activity.performCreate(Activity.java:8000)

        at android.app.Activity.performCreate(Activity.java:7984)

        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)

        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3422)

        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)

        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)

        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)

        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)

        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)

        at android.os.Handler.dispatchMessage(Handler.java:106)

        at android.os.Looper.loop(Looper.java:223)

        at android.app.ActivityThread.main(ActivityThread.java:7656)

        at java.lang.reflect.Method.invoke(Native Method)

        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)

        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

Hatayı çözdüm sanırım bu hata çoğunlukla "XML" dosyalarında içeren bir hata. Çözümü ise tasarım içine 2 tane listview eklemişim onun bir tanesini sildim ve düzeldi.
 
Son düzenleme:

Geri
Yukarı