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
ADAPTER
Verileri Tutan Class
HATA
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.
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: