Я новичок в программировании Android, моя проблема заключается в следующем.
У меня есть ListView с именем (items) и 4 разных фрагмента (tableFragment, bedFragment, DeskFragment, ChairFragment), где я реализую этот список. В списке у меня 2 кнопки с разными ролями. Я хочу, чтобы одна кнопка (избранное или ar не имеет значения) выполняла транзакцию из одного фрагмента, где у меня есть вид списка, к новому фрагменту detailsFragment и помещала информацию (например, изображение и текстовое представление из списка) в details_fragment.xml. Я ценю любые усилия, спасибо!
items.java
public class items{
// Name of the object
private String lName;
// Costs
private String lPrice;
// Details
private String lDetails;
// Image resource id
private int lImageId;
// Buttons resource id
private int lButtonF;
private int lButtonAr;
// Constructor
public items(String ObjectName,String ObjectPrice,int ImageResourceId,int ButtonFavorites,int ButtonAr,String DetailsItem){
lName=ObjectName;
lPrice=ObjectPrice;
lImageId=ImageResourceId;
lButtonAr=ButtonAr;
lButtonF=ButtonFavorites;
lDetails=DetailsItem;
}
// Getters
public String getlName() { return lName; }
public String getlPrice(){ return lPrice; }
public int getlImageId(){ return lImageId; }
public int getlButtonF() { return lButtonF; }
public int getlButtonAr() { return lButtonAr; }
public String getlDetails() { return lDetails; }
}
itemsAdapter.java
public class itemsAdapter extends ArrayAdapter<items>{
private static final String LOG_TAG = itemsAdapter.class.getSimpleName();
public itemsAdapter(Activity context, ArrayList<items> item){
super(context,0,item);
}
public View getView(int position, View convertView, ViewGroup parent){
View listItemView = convertView;
if(listItemView == null) {
listItemView = LayoutInflater.from(getContext()).inflate(
R.layout.list_item, parent, false);
}
items currentItems=getItem(position);
TextView nameTextView=(TextView)listItemView.findViewById(R.id.name_item);
nameTextView.setText(currentItems.getlName());
TextView priceTextView=(TextView)listItemView.findViewById(R.id.price_item);
priceTextView.setText(currentItems.getlPrice());
ImageView iconImageView=(ImageView)listItemView.findViewById(R.id.icon_item);
iconImageView.setImageResource(currentItems.getlImageId());
TextView detailsView=(TextView)listItemView.findViewById(R.id.details_item);
detailsView.setText(currentItems.getlDetails());
// Favorites and Ar buttons
Button buttonFavoritesItem=(Button)listItemView.findViewById(R.id.favorites_item);
buttonFavoritesItem.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
Button buttonArItem=(Button)listItemView.findViewById(R.id.ar_item);
buttonArItem.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
return listItemView;
}
}
tableFragment.java
public class tableFragment extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.tables_fragment, container, false);
ArrayList<items> tables=new ArrayList<items>();
tables.add(new items("Table1","23$",R.drawable.table1,R.id.ar_item,R.id.favorites_item,"Best table on the market, you can drink coffe or study."));
tables.add(new items("Table2","43$",R.drawable.table2,R.id.ar_item,R.id.favorites_item,"Best table on the market, you can drink coffe or study."));
tables.add(new items("Table3","54$",R.drawable.table3,R.id.ar_item,R.id.favorites_item,"Best table on the market, you can drink coffe or study."));
tables.add(new items("Table4","34$",R.drawable.table4,R.id.ar_item,R.id.favorites_item,"Best table on the market, you can drink coffe or study."));
tables.add(new items("Table5","65$",R.drawable.table5,R.id.ar_item,R.id.favorites_item,"Best table on the market, you can drink coffe or study."));
itemsAdapter itAdapter=new itemsAdapter(this.getActivity(),tables);
ListView listView=(ListView)view.findViewById(R.id.listview_tables);
listView.setAdapter(itAdapter);
return view;
}
}
detailsFragment.java
public class detailsFragment extends Fragment {
public detailsFragment(){
}
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.details_fragment, container, false);
return view;
}
}
details_fragment.xml
<FrameLayout
android:layout_width="match_parent"
android:layout_height="500dp"
android:layout_gravity="bottom"
android:id="@+id/details_container">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/image_view_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Name"
android:textStyle="bold" />
<TextView
android:id="@+id/name_view_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Details"
android:textStyle="bold" />
<TextView
android:id="@+id/details_view_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/ar_view_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CAMERA AR" />
<Button
android:id="@+id/favorites_view_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="star" />
</LinearLayout>
</LinearLayout>
</FrameLayout>