here is my menu_fragment.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/imageView3"
android:layout_width="match_parent"
android:layout_height="118dp"
app:srcCompat="@drawable/three" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MENU"
android:textColor="@android:color/holo_red_dark"
android:textSize="22sp"
android:textStyle="bold|italic" />
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAlignment="center"
android:layout_weight="2"
/>
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="22sp"
android:textColor="@android:color/holo_red_dark" />
</LinearLayout>
n here is my MenuFragment.java
package com.maharajarasoiandevents.maharajarasoiandevents.mFragments;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import com.maharajarasoiandevents.maharajarasoiandevents.ChaatActivity;
import com.maharajarasoiandevents.maharajarasoiandevents.ExoticSpecialityActivity;
import com.maharajarasoiandevents.maharajarasoiandevents.R;
import com.maharajarasoiandevents.maharajarasoiandevents.SaladsActivity;
import com.maharajarasoiandevents.maharajarasoiandevents.SoupActivity;
import com.maharajarasoiandevents.maharajarasoiandevents.StarterActivity;
import com.maharajarasoiandevents.maharajarasoiandevents.WelcomeDrinkActivity;
public class MenuFragment extends Fragment {
ListView listView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
final View rootView=inflater.inflate(R.layout.menu_fragment,container,false);
listView = (ListView) rootView.findViewById(R.id.listView);
final String[] values = new String[]{"Welcome Drink","Moving Starter","Soup","Salads","Chaat","Exotic Speciality"};
ArrayAdapter<String> adapter;
adapter = new ArrayAdapter<String>(getActivity(), R.layout.menu_fragment, R.id.textView, values);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int pos, long id) {
if (pos == 0) {
Intent myIntent = new Intent(rootView.getContext(), WelcomeDrinkActivity.class);
startActivityForResult(myIntent,0);
}
if(pos==1){
Intent myIntent=new Intent(rootView.getContext(), StarterActivity.class);
startActivityForResult(myIntent,1);
}
if(pos==2){
Intent myIntent=new Intent(rootView.getContext(), SoupActivity.class);
startActivityForResult(myIntent,2);
}
if(pos==3){
Intent myIntent=new Intent(rootView.getContext(), SaladsActivity.class);
startActivityForResult(myIntent,1);
}
if(pos==4){
Intent myIntent=new Intent(rootView.getContext(), ChaatActivity.class);
startActivityForResult(myIntent,2);
}
if(pos==5){
Intent myIntent=new Intent(rootView.getContext(), ExoticSpecialityActivity.class);
startActivityForResult(myIntent,1);
}
}
});
return rootView;
}
}
i want only 1 image and 1 textview where i wrote MENU as text.. on top of that page ....n even i took only one image and 1 textview in my menu_fragment.xml ...but its showing multiple images n textviews...why so? means listview is repeating again n again but i dont want to show that image n textview every time..just like listview.. m editing my code ..plz check it :)
Try this:
ListView listView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.menu_fragment, container, false);
listView = (ListView) rootView.findViewById(R.id.listView);
final String[] values = new String[]{"starter", "juices", "roties"};
// edited
MyArrayAdapter adapter;
// edited ,add size and color parameters
adapter = new MyArrayAdapter(getActivity(), R.layout.menu_fragment, R.id.textView, values,Color.RED, 16f);
listView.setAdapter(adapter);
return rootView;
}
Edited
Add MyArrayAdapter
public class MyArrayAdapter extends ArrayAdapter {
private int color;
private float size;
// edited ,add size and color parameters
public MyArrayAdapter(Context context, int layoutId, int resource, Object[] objects, int color, float size) {
super(context, layoutId, resource, objects);
this.color = color;
this.size = size;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
String str = (String) getItem(position);
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.menu_fragment, parent, false);
}
TextView tv = (TextView) convertView.findViewById(R.id.textView);
tv.setText(str);
// edited , modified setTextSize and setTextColor
tv.setTextSize(size);
tv.setTextColor(color);
return convertView;
}
}
Hope to help you.