برترین های انجمن

  1. Farzad Sarseifi

    Farzad Sarseifi

    مدیریت انجمن


    • امتیاز: پسندیدن (Likes)

      4

    • تعداد ارسال ها

      1,577


  2. mohammadali_mirhamed

    mohammadali_mirhamed

    مدیر انجمن


    • امتیاز: پسندیدن (Likes)

      1

    • تعداد ارسال ها

      688


  3. Seven7up

    Seven7up

    مدیر انجمن


    • امتیاز: پسندیدن (Likes)

      1

    • تعداد ارسال ها

      68


  4. Mester Asheghi

    Mester Asheghi

    توسعه دهنده اندروید


    • امتیاز: پسندیدن (Likes)

      1

    • تعداد ارسال ها

      1



Popular Content

Showing most liked content since ۱۷/۰۳/۱۹ in all areas

  1. 6 likes

    نگارش 1.0.0

    389 دانلود

    سورس اندروید استودیو فروشگاه اینترنتی + وب سایت + وبسرویس زبان ها جاوا + php

    رایگان

  2. 1 like
  3. 1 like
  4. 1 like
    کاربران گرامی انجمن اندروید ایران با درود همانند روال سال های گذشته ، انجمن برنامه نویسی پی سی دروید اقدام به انتشار هدایای نوروزی نموده است ، امیدواریم هدایای این دوره عیدی خوبی برای کاربران گرامی انجمن باشد.پس در نوروز کنار ما باشید با تشکر انجمن اندروید ایران
  5. 1 like
    در این آموزش قصد داریم یک لیست از اطلاعات را با استفاده از RecyclerView ایجاد کنیم که سطرهای قابلیت انتخاب و تغییر شدن را داشته باشند Gradle compile 'com.android.support:recyclerview-v7:23.0.0' activity_recycle_view_main.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=".RecycleViewMainActivity"> <android.support.v7.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical" /> </RelativeLayout> list_item_row.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/list_row" android:layout_width="match_parent" android:layout_height="wrap_content" android:clickable="true" android:orientation="vertical"> <LinearLayout android:id="@+id/linear" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <ImageView android:id="@+id/plantImageView" android:layout_width="100dp" android:layout_height="100dp" android:scaleType="fitXY" android:src="@mipmap/ic_launcher" /> <LinearLayout android:id="@+id/innerLayout" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_margin="5dp" android:layout_weight="0.9" android:orientation="vertical"> <TextView android:id="@+id/personNameTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:fontFamily="sans-serif-light" android:singleLine="true" android:textColor="#5B5B5B" android:textSize="16dp" android:textStyle="bold" /> <TextView android:id="@+id/personDsgTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:fontFamily="sans-serif-light" android:singleLine="true" android:textAppearance="?android:attr/textAppearanceSmall" android:textColor="#787878" /> <TextView android:id="@+id/personAddTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:fontFamily="sans-serif-light" android:singleLine="true" android:textAppearance="?android:attr/textAppearanceSmall" android:textColor="#787878" /> </LinearLayout> </LinearLayout> <View android:layout_width="match_parent" android:layout_height="1dp" android:layout_below="@+id/linear" android:background="#787878" /> </RelativeLayout> RecycleViewMainActivity.java import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; import java.util.ArrayList; public class RecycleViewMainActivity extends AppCompatActivity { private ArrayList<Person> mPersonList; private RecyclerView mRecyclerView; private CustomAdapter mAdapter; private RecyclerView.LayoutManager mLayoutManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_recycle_view_main); mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view); // use this setting to improve performance if you know that changes // in content do not change the layout size of the RecyclerView mRecyclerView.setHasFixedSize(true); // use a linear layout manager mLayoutManager = new LinearLayoutManager(getApplicationContext()); mRecyclerView.setLayoutManager(mLayoutManager); mRecyclerView.addOnItemTouchListener( new RecyclerItemClickListener(getApplicationContext(), new RecyclerItemClickListener.OnItemClickListener() { @Override public void onItemClick(View view, int position) { try { mAdapter.setSelected(position); } catch (Exception e) { e.printStackTrace(); } } }) ); setupPersonList(); } private void setupPersonList() { mPersonList = new ArrayList<Person>(); mPersonList.clear(); for (int i = 0; i < 25; i++) { Person person = new Person("Person " + i, "Desgination " + i, "Address " + i); mPersonList.add(person); } mAdapter = new CustomAdapter(mPersonList, this); mRecyclerView.setAdapter(mAdapter); } } RecyclerItemClickListener.java import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.GestureDetector; import android.view.MotionEvent; import android.view.View; public class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener { private OnItemClickListener mListener; public interface OnItemClickListener { public void onItemClick(View view, int position); } GestureDetector mGestureDetector; public RecyclerItemClickListener(Context context, OnItemClickListener listener) { mListener = listener; mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() { @Override public boolean onSingleTapUp(MotionEvent e) { return true; } }); } @Override public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent e) { View childView = view.findChildViewUnder(e.getX(), e.getY()); if (childView != null && mListener != null && mGestureDetector.onTouchEvent(e)) { mListener.onItemClick(childView, view.getChildPosition(childView)); return true; } return false; } @Override public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) { } @Override public void onTouchEvent(RecyclerView view, MotionEvent motionEvent) { } } CustomAdapter.java import android.content.Context; import android.content.SharedPreferences; import android.graphics.Color; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.RelativeLayout; import android.widget.TextView; import java.util.ArrayList; public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.ViewHolder> { private ArrayList<Person> mPersonList; private SharedPreferences mPref; private SharedPreferences.Editor mEditor; // Provide a reference to the views for each data item // Complex data items may need more than one view per item, and // you provide access to all the views for a data item in a view holder public class ViewHolder extends RecyclerView.ViewHolder { // each data item is just a string in this case TextView personNameTextView, personAddTextView, personDsgTextView; RelativeLayout list_row; public ViewHolder(View v) { super(v); personNameTextView = (TextView) v.findViewById(R.id.personNameTextView); personAddTextView = (TextView) v.findViewById(R.id.personAddTextView); personDsgTextView = (TextView) v.findViewById(R.id.personDsgTextView); list_row = (RelativeLayout) v.findViewById(R.id.list_row); } } public void add(int position, Person item) { mPersonList.add(position, item); notifyItemInserted(position); } public void remove(String item) { int position = mPersonList.indexOf(item); mPersonList.remove(position); notifyItemRemoved(position); } // Provide a suitable constructor (depends on the kind of dataset) public CustomAdapter(ArrayList<Person> personList, Context context) { mPersonList = personList; mPref = context.getSharedPreferences("person", Context.MODE_PRIVATE); mEditor = mPref.edit(); } // Create new views (invoked by the layout manager) @Override public CustomAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { // create a new view View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_row, parent, false); // set the view's size, margins, paddings and layout parameters ViewHolder vh = new ViewHolder(v); return vh; } // Replace the contents of a view (invoked by the layout manager) @Override public void onBindViewHolder(ViewHolder holder, int position) { // - get element from your dataset at this position // - replace the contents of the view with that element holder.personNameTextView.setText(mPersonList.get(position).getPersonName()); holder.personAddTextView.setText(mPersonList.get(position).getPersonAdd()); holder.personDsgTextView.setText(mPersonList.get(position).getPersonDsg()); Log.e("selection", "" + mPersonList.get(position).isSelected()); if (mPersonList.get(position).isSelected()) { holder.list_row.setBackgroundColor(Color.parseColor("#d5d5d5")); } else { holder.list_row.setBackgroundColor(Color.TRANSPARENT); } } public void setSelected(int pos) { try { if (mPersonList.size() > 1) { mPersonList.get(mPref.getInt("position", 0)).setSelected(false); mEditor.putInt("position", pos); mEditor.commit(); } mPersonList.get(pos).setSelected(true); notifyDataSetChanged(); } catch (Exception e) { e.printStackTrace(); } } // Return the size of your dataset (invoked by the layout manager) @Override public int getItemCount() { return mPersonList.size(); } } Person.java public class Person { String personName; String personAdd; String personDsg; boolean selected; Person(String name, String dsg, String add) { this.personName = name; this.personAdd = add; this.personDsg = dsg; } public boolean isSelected() { return selected; } public void setSelected(boolean selected) { this.selected = selected; } public String getPersonDsg() { return personDsg; } public void setPersonDsg(String personDsg) { this.personDsg = personDsg; } public String getPersonAdd() { return personAdd; } public void setPersonAdd(String personAdd) { this.personAdd = personAdd; } public String getPersonName() { return personName; } public void setPersonName(String personName) { this.personName = personName; } }
  6. 1 like
    چرا نوشتید context.getApplicationContext ؟؟
  7. 1 like
    سلام به تمام کاربران عزیز پوستر تبریک سال نو برای عکس پروفایل یا شبکه های اجتماعی آماده دانلود می باشد تبریک سال نو برای شما عزیزان ایشالله ساله خوبی رو داشته باشید . دستون دارم
  8. 1 like