0
itemname, quantity, price와 같이 세 개의 coloumns를 가진 listview가 있습니다. 또한 gridview 단추가 있습니다. 이제 내가 원하는 것은 일 때 gridview 버튼을 클릭하면 특정 항목 이름이 listview에 itemname의 coloumn으로 표시되어야합니다. 아래 안드로이드의 listview에서 선택한 gridview 요소 텍스트를 하나씩 표시하는 방법은 무엇입니까?
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);
}
}
}
는 리스너 목록보기의 활동에 데이터 (버튼의 이름)을 보내거나 당신이 만든 경우 데이터베이스는 다음 데이터베이스에 및이 추가 버튼을 클릭에 내 어댑터 클래스
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;
}
}