ListView Favori Ekleme

Merhaba arkadaşlar. Elle oluşturduğum listview den context menu ile favorilere ekleme seçeneği koymak istiyorum. Bunun için iki fragment var. şu an 1. fragmentte elle oluşturduğum listview var. Favorilere basılınca 2. fragment açılacak ve eklenilen favoriler bu kısımda gözükecek. Var mı bilen?

    0

    Baran KARABOĞA

    Bilgisayar Mühendisliği - 27 Mayıs 2016

    Custom ListView ile kolayca yapabilirsiniz. Öncelikle şu konuyu bir inceleyin.Ben örnek göstererek size favori kısmın dan biraz bahesedeyim. Ayrı bir layout oluşturuyoruz bu bizim list viewmizda görünecek olan layout ayrı bir tasarım yapıyoruz kısacası örnek : (list_fav.xml) <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:weightSum="1"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="yazi" android:id="@+id/isimText" android:paddingTop="10dp" android:paddingLeft="10dp" android:layout_alignParentTop="true" android:layout_alignParentStart="true" /> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageButton" android:layout_alignParentTop="true" android:layout_alignParentEnd="true" android:src="@drawable/abc_btn_rating_star_on_mtrl_alpha" android:background="#242424" /> </RelativeLayout> listView imizi da Mainclasımızda tanımlıyoruz.Ben elemanlarımı arraylist ile ekledim. Main.java package com.example.barankaraboa.listfavoriteapp; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.ImageButton; import android.widget.ListView; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { ListView list ; customListAdapter adapter ; ImageButton btn ; ArrayList<String> liste = new ArrayList<String>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); list = (ListView) findViewById(R.id.listView); liste.add("baran"); liste.add("asdjasd"); adapter = new customListAdapter(this,liste); list.setAdapter(adapter); btn = (ImageButton) findViewById(R.id.imageButton); } } Burasını geçtikten sonra asıl önemli olan custom adapter kısmı. Bunu yapabilmek için BaseAdapter sınıfını iyi bilmemiz gerekiyor.Bu sınıfımızda list_fav.xml'de eklediğimiz komponentleri kullanıcaz. Bir yapılandırıcı oluşturuyorum degerlerimi yapılandırıcı üzerinden gönderiyorum bu sayede eleman gönderirken sürekli nesne oluşturma gibi bir derdimiz olmuyor. costumListAdapter.java package com.example.barankaraboa.listfavoriteapp; import android.app.Activity; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageButton; import android.widget.TextView; import java.util.ArrayList; /** * Created by Baran on 5.04.2016. */ public class customListAdapter extends BaseAdapter { private int position; ImageButton favButon ; Context context ; MainActivity favList= new MainActivity(); LayoutInflater inflater; Activity activity; customListAdapter() { } customListAdapter(Context context,ArrayList isimler) { this.context = context; this.favList.liste = isimler; } @Override public int getCount() { return favList.liste.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { this.position = position; TextView isimler; ImageButton favButon; inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View itemView = inflater.inflate(R.layout.list_fav,parent,false); isimler = (TextView)itemView.findViewById(R.id.isimText); return itemView; } }  

    Bu soruya cevap vermek için üye olmanız veya giriş yapmanız gerekmektedir.