I want to make a interface which user can add its data to activity and after its must be show on in recyclerview, I used manual data adding in code it's working but I want to user must be able to store its data on application and can see & modified.
I used put_extra function but is not working.`
[code for put_put Extra]
Here is adapter class:
public class Handler_Adapter extends RecyclerView.Adapter<Handler_Adapter.MyViewHolders> {
ArrayList<MyMode> myModel;
View ReceivedImages;
Context context;
public Handler_Adapter (Context context, ArrayList<MyMode> list, View myImagesF){
this.context=context;
this.myModel=list;
ReceivedImages=myImagesF;
}
@Override
public MyViewHolders onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater= LayoutInflater.from(context);
View view = inflater.inflate(R.layout.row,parent,false);
return null;
}
@Override
public void onBindViewHolder(@NonNull MyViewHolders holder, int position) {
holder.EName.setText(myModel.get(position).getLangName());
holder.E_Des.setText(myModel.get(position).getLangName());
holder.Price.setText(myModel.get(position).getLangName());
holder.itemsSize.setText(myModel.get(position).getLangName());
holder.myImages.setImageResource(myModel.get(position).getLangLogo());
holder.rows.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
@Override
public int getItemCount() { return myModel.size();
}
public class MyViewHolders extends RecyclerView.ViewHolder {
TextView EName,E_Des,Price,itemsSize;
ImageView myImages;
RelativeLayout rows;
public MyViewHolders(@NonNull View itemView) {
super(itemView);
EName=itemView.findViewById(R.id.EName);
E_Des=itemView.findViewById(R.id.E_Des);
ReceivedImages=itemView.findViewById(R.id.my_Imaage);
Price=itemView.findViewById(R.id.E_Price);
itemsSize=itemView.findViewById(R.id.itemsSize);
rows=itemView.findViewById(R.id.rows);
}
}
}
Here is UserActivity
public class AddMenu extends AppCompatActivity {
public static final String TEXT_TO_SEND="com.example.EMenu.TEXT_TO_SEND";
private ImageView mImageView;
private EditText EName,E_Des,E_Price,E_size;
private Button Import;
private String TextToSend;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_menu);
mImageView=findViewById(R.id.imageFilterView);
mImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ImagePicker.Companion.with(AddMenu.this)
.crop()
// .cropOval()
.compress(1024)
.maxResultSize(1080,1080)
.start();
}
});
Import=findViewById(R.id.Import);
EName=findViewById(R.id.EName);
E_Des=findViewById(R.id.E_Des);
E_Price=findViewById(R.id.E_Price);
E_size=findViewById(R.id.E_size);
Import.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TextToSend=EName.toString().toUpperCase().trim();
TextToSend=E_Des.toString().toLowerCase().trim();
TextToSend=E_Price.toString().toUpperCase().trim();
TextToSend=E_size.toString().toUpperCase().trim();
gotoActivity();
}
});
}
private void gotoActivity() {
Intent on=new Intent(AddMenu.this,Mainpage.class);
on.putExtra("Selected_Image",R.id.imageFilterView);
on.putExtra(TEXT_TO_SEND, String.valueOf(EName).toUpperCase());
on.putExtra(TEXT_TO_SEND, String.valueOf(E_Des));
on.putExtra(TEXT_TO_SEND, String.valueOf (E_Price).toUpperCase());
on.putExtra(TEXT_TO_SEND, String.valueOf(E_size).toUpperCase());
startActivity(on);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Uri uri=data.getData();
mImageView.setImageURI(uri);
}
**Main page code_ at there is
used adding images manually but I want to its added it by user activity**
public class Mainpage extends AppCompatActivity {
RecyclerView Recycler;
ArrayList<MainModels> mainModel;
MainAdapter mainAdapter;
Handler_Adapter mHandler_adapter;
ArrayList<MyMode> myModel;
SearchView SearchView;
ImageView mImageView,myImagesF;
////////////////////////////////////////////////////////: Images resource file..
String s1[],s2[],s3[],s4[];
/////////////////////////////////////////////////////.......... continue..............
RecyclerView recyclerView;
NavigationView click;
private FirebaseAuth fAuth;
private String currentUserId;
private DatabaseReference databaseReference;
Button Navigation;
//Menu Account,Settings,Restaurant,Menu;
private DrawerLayout mDrawerLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mainpage);
myModel = new ArrayList<>();
int images[]={R.drawable.delfina_cocciardi_ndpbk_d_03m_unsplash,R.drawable.ic_launcher_foreground,
R.drawable.ic_launcher_foreground,R.drawable.ic_launcher_foreground,R.drawable.ic_launcher_foreground };
/////////////////////////////////////.......Goat it data from input data fragment
mImageView=findViewById(R.id.my_Imaage);
Bundle bundle=getIntent().getExtras();
if (bundle != null){
int res_image=bundle.getInt("Selected_Image");
// mImageView.setImageResource(res_image);
}
//////////////////////////////////////////////////................!!!
recyclerView=findViewById(R.id.recyclerView);
Intent intent=getIntent();
s1=getResources().getStringArray(R.array.Menu_items);
s2=getResources().getStringArray(R.array.Description);
s3=getResources().getStringArray(R.array.Prices);
s4=getResources().getStringArray(R.array.Prices);
Adapter mAdapter=new Adapter(this,s1,s2,s3,s4,images);
recyclerView.setAdapter(mAdapter);
recyclerView.setLayoutManager(new GridLayoutManager(this,2,RecyclerView.VERTICAL,false));
/*
recyclerView=findViewById(R.id.recyclerView);
Integer[] langLogos={R.id.imageFilterView};
Intent intent=getIntent();
String langNames=intent.getStringExtra(AddMenu.TEXT_TO_SEND);
if (langNames!=null){
TextView textView=findViewById(R.id.Menu_Name);
textView.setText(langNames);
}
String langPrice=intent.getStringExtra(AddMenu.TEXT_TO_SEND);
if (langPrice!=null){
TextView textView2=findViewById(R.id.Description_name);
textView2.setText(langPrice);
}
String langDisc=intent.getStringExtra(AddMenu.TEXT_TO_SEND);
if (langDisc!=null){
TextView textView3=findViewById(R.id.Price);
textView3.setText(langDisc);
}
String langSize=intent.getStringExtra(AddMenu.TEXT_TO_SEND);
if (langSize!=null){
TextView textView4=findViewById(R.id.itemsSize);
textView4.setText(langSize);
}
myModel=new ArrayList<>();
MyMode so=new MyMode(langLogos,langNames,langDisc,langPrice,langSize);
myModel.add(so);
GridLayoutManager gridLayoutManager= new GridLayoutManager(Mainpage.this,2,GridLayoutManager.VERTICAL,false);
recyclerView.setLayoutManager(gridLayoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
mHandler_adapter=new Handler_Adapter(Mainpage.this,myModel,myImagesF);
recyclerView.setAdapter(mHandler_adapter);
*/
// for (int j=0;j<langLogos.length;j++){
// }