настроенный просмотр списка происходит из базы данных. Я хочу щелкнуть по списку, это означает, что он печатает определенное имя элемента - PullRequest
1 голос
/ 02 апреля 2012

Я выбрал изображения и текст в виде списка из базы данных. Теперь, щелкая конкретный текст или изображение, я должен напечатать тот же текст. Например: если я щелкаю по списку меню еды, то оно должно распечатать меню еды. Если я щелкаю представление списка по каталогу, оно должно печатать каталог.

enter code here
JSONArray json = jArray.getJSONArray("mainmenu");
        list=(ListView)findViewById(R.id.mainmenulist);
         adapter=new MainMenulist(this, json);
         list.setAdapter(adapter);

Main menu listview
  public class MainMenulist extends BaseAdapter {
protected static Context Context = null;
int i;
String qrimage;
Bitmap bmp, resizedbitmap;
Bitmap[] bmps;
Activity activity = null;
private LayoutInflater inflater;

private ImageView[] mImages;
String[] itemimage;
TextView[] tv;
String itemname;
public String[] itemnames;
HashMap<String, String> map = new HashMap<String, String>();

public MainMenulist(Context context, JSONArray imageArrayJson) {
    Context = context;
    // inflater =
    // (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    // imageLoader=new ImageLoader(activity);
    inflater = LayoutInflater.from(context);
    this.mImages = new ImageView[imageArrayJson.length()];
    this.bmps = new Bitmap[imageArrayJson.length()];
    this.itemnames = new String[imageArrayJson.length()];

    try {

        for (i = 0; i < imageArrayJson.length(); i++) {
            JSONObject image = imageArrayJson.getJSONObject(i);
            qrimage = image.getString("menuimage");
            itemname = image.getString("menuname");
            itemnames[i] = itemname;

            byte[] qrimageBytes = Base64.decode(qrimage.getBytes());

            bmp = BitmapFactory.decodeByteArray(qrimageBytes, 0,
                    qrimageBytes.length);
            int width = 100;
            int height = 100;
            resizedbitmap = Bitmap.createScaledBitmap(bmp, width, height,
                    true);
            bmps[i] = bmp;

            mImages[i] = new ImageView(context);
            mImages[i].setImageBitmap(resizedbitmap);

            mImages[i].setScaleType(ImageView.ScaleType.FIT_START);

            // tv[i].setText(itemname);
        }
        System.out.println(itemnames[i]);
        System.out.println(map);

    } catch (Exception e) {
        // TODO: handle exception
    }
}

public int getCount() {
    return mImages.length;
}

public Object getItem(int position) {
    return position;
}

public long getItemId(int position) {
    return position;
}

public View getView(final int position, View convertView, ViewGroup parent) {

    View vi = convertView;

    vi = inflater.inflate(R.layout.mainmenulistview, null);

    TextView text = (TextView) vi.findViewById(R.id.menutext);
    ImageView image = (ImageView) vi.findViewById(R.id.menuimage);
    image.setImageBitmap(bmps[position]);

    text.setText(itemnames[position]);
    text.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            if (itemnames[position].equals("Food Menu")) {
                Intent intent = new Intent(Context, FoodMenu.class);
                System.out.println("prakash");
                Context.startActivity(intent);
            }
        }
    });

    return vi;

}

  }

я могу получить все элементы в menulistview.java, пожалуйста, скажите мне, как получить конкретный вид списка, щелчок означает печать определенных элементов

Ответы [ 2 ]

4 голосов
/ 02 апреля 2012

Проверьте ниже код

text.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
        // TODO Auto-generated method stub
        if (itemnames[position].equals("Food Menu")) {
            Intent intent = new Intent(Context, FoodMenu.class);
            System.out.println("prakash");
            System.out.println(v.getText().toString());
            Context.startActivity(intent);
        }
    }
});

Думаю, вы хотите напечатать имя, как вы предложили на месте вашего System.out.println выписка

0 голосов
/ 02 апреля 2012

Используйте ссылку ниже, которая показывает пример приложения, а также как использовать пользовательский адаптер. Включая события щелчка

http://www.codeproject.com/Articles/183608/Android-Lists-ListActivity-and-ListView-II-Custom

попробуйте ниже ::

text.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent intent = new Intent(Context, FoodMenu.class);
            System.out.println(itemnames[position]);
            System.out.println(text.getText().toString());
            Context.startActivity(intent);
            }
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...