简体   繁体   English

如何在Android的ListView中一一显示选定的gridview元素文本?

[英]how to display selected gridview elements text one by one in listview in android?

I have a listview with three coloumns as itemname, quantity, price. 我有一个列表视图,其中三个列分别是项目名称,数量和价格。 Also i have a gridview buttons. 我也有一个gridview按钮。 Now what i want is when the gridview buttons are clicked, that particular items name need to display in coloumn of itemname in listview. 现在我想要的是单击gridview按钮时,该特定项目名称需要在listview的itemname栏中显示。

package com.example.test;

import java.util.ArrayList;
import java.util.List;


import android.R.string;
import android.support.v7.app.ActionBarActivity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.GridView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;


public class MainActivity extends ActionBarActivity {

    ListviewAdapter listviewAdapter;
    List<Constant> constantlist = new ArrayList<Constant>();

    ListView list;
    String[] item;
    String[] quantity;  
    String[] price;

    //string getprice;
    //String balaji = "shankar";



    ArrayList<String> ar = new ArrayList<String>();

    GridView grid;

        static final String[] letters = new String[] { 
            "A", "B", "C", "D", "E",
            "F", "G", "H", "I", "J",
            "K", "L", "M", "N", "O",
            "P", "Q", "R", "S", "T",
            "U", "V", "W", "X", "Y", "Z"};



    //private ArrayList<HashMap<String,String>> list;


    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        grid = (GridView) findViewById(R.id.gridView);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, letters);

        grid.setAdapter(adapter);

        grid.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
                Toast.makeText(getApplicationContext(),
                        ((TextView) v).getText(), Toast.LENGTH_SHORT).show();
                //TextView currentLetter = (TextView) v.findViewById(R.id.text1);
                //currentLetter.setTextColor(Color.GREEN);
            }
        });





        item = new String[] {"Pizza", "Burger", "Biriyani" };   


        quantity = new String[] {"1", "2", "3"};


        price = new String[] {"10", "60", "60"};



        for(int i=0;i<item.length;i++){
            Constant constant = new Constant (item[i], quantity[i], price[i]);
            constantlist.add(constant);

        }



        list= (ListView)findViewById(R.id.listview);




        listviewAdapter = new ListviewAdapter(this, R.layout.listview_row, constantlist);

        list.setAdapter(listviewAdapter); 

        }
}
}

below is my adapter class 下面是我的适配器类

package com.example.test;

import java.util.List;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;


public class ListviewAdapter extends ArrayAdapter<Constant>{


    Context context;
    LayoutInflater inflater;
    List<Constant> constantlist;


    public ListviewAdapter(Context context, int resourceId,
            List<Constant> worldpopulationlist) {
        super(context, resourceId, worldpopulationlist);
        //mSelectedItemsIds = new SparseBooleanArray();
        this.context = context;
        this.constantlist = worldpopulationlist;
        inflater = LayoutInflater.from(context);
    }

    private class ViewHolder{
        TextView item;
        TextView quantity;
        TextView price;
    }


    public View getView(int position,  View view, ViewGroup parent){
        final ViewHolder holder;

        if(view == null){
            holder = new ViewHolder();
            view=inflater.inflate(R.layout.listview_row, null);

            holder.item = (TextView) view.findViewById(R.id.txt_item);
            holder.quantity = (TextView) view.findViewById(R.id.txt_quantity);
            holder.price = (TextView) view.findViewById(R.id.txt_price);

            view.setTag(holder);        
    }else{
        holder = (ViewHolder) view.getTag();
    }

        holder.item.setText(constantlist.get(position).getItem());
        holder.quantity.setText(constantlist.get(position).getQuantity());
        holder.price.setText(constantlist.get(position)
                .getPrice());

        return view;

    }

    public List<Constant> getWorldPopulation() {
        return constantlist;
    }

}

1) On Button Click Listener send data (name of Button) to the activity of Listview or if you have made database then add this into database and in ListActivity call it from database. 1)在Button上单击Listener,将数据(Button的名称)发送到Listview的活动,或者如果您已建立数据库,则将其添加到数据库中,然后在ListActivity中从数据库调用它。

2) If you have done anything then please put it in question so we can give you more acurate answer. 2)如果您做了任何事情,请先提出疑问,以便我们为您提供更准确的答案。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在Android中使用ViewPager显示ListView选定的项目 - How to display ListView Selected item with ViewPager in android 如何设置特定的ListView行的文本/图像-Android? - How set text/image of specific one ListView row - Android? 如何在Android / Java列表视图中显示多个文本项? - How to show more than one text item in an Android/Java listview? 在Android中,如何在一个选项卡中显示文本视图,而在其他选项卡中不显示? - in Android, How would I display a text view in one tab, but not in the others? 我的列表视图中有10个项目后,其中一个文本视图不显示 - After 10 items in my listview, one of the text views does not display Android-如何将一个扩展名的文件添加到ListView - Android - How to add files of one extension to listview Javafx 单击按钮时,第二个列表视图上的文本被替换为新选择的文本,我如何让它只添加它? - Javafx when button clicked, the text on the the second listview is replaced with the new selected one, how do I make it just add it? 如何从Android中的ListView和Adapter获取选定的文本? - How to get selected text from ListView and Adapter in Android? 如何在 gridview android 工作室在一个视图中制作 2 个布局 - How to make 2 layout in one view at gridview android studio 上一个Listview项目已删除,而不是已选择的项目 - Last Listview item removed instead of selected one
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM