Java 通过Android上的外部按钮获取适配器信息
我希望通过外部按钮从视图的当前项接收信息,因为它显示图像,按钮位于适配器外部。有人能帮我吗 图片: MainActivity.classJava 通过Android上的外部按钮获取适配器信息,java,android,button,android-asynctask,adapter,Java,Android,Button,Android Asynctask,Adapter,我希望通过外部按钮从视图的当前项接收信息,因为它显示图像,按钮位于适配器外部。有人能帮我吗 图片: MainActivity.class SimpleCardStackAdapter adapter = new SimpleCardStackAdapter(MainActivity.this); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInst
SimpleCardStackAdapter adapter = new SimpleCardStackAdapter(MainActivity.this);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.mainlayout);
new JSONParse().execute();
}
private class JSONParse extends AsyncTask<String, String, JSONObject> {
@Override
protected void onPreExecute() {
super.onPreExecute();
mCardContainer = (CardContainer) findViewById(R.id.layoutview);
pDialog = new ProgressDialog(MainActivity.this);
pDialog.setMessage("Obteniendo datos ...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
@Override
protected JSONObject doInBackground(String... args) {
JSONParser jParser = new JSONParser();
JSONObject json = jParser.getJSONfromURL(url);
return json;
}
@Override
protected void onPostExecute(JSONObject json) {
if(json != null){
pDialog.dismiss();
try {
// Getting JSON Array
user = json.getJSONArray(TAG_USER);
for (int i = 0; i < user.length(); i++) {
JSONObject c = user.getJSONObject(i);
id = c.getString(TAG_ID);
String image = c.getString(imagen);
adapter.add(new CardModel(id, "Sevilla", image));
}
//T
lovebtn = (Button) findViewById(R.id.lovebtn);
lovebtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), ""+item, Toast.LENGTH_SHORT).show();
}
});*/
mCardContainer.setAdapter(adapter);
} catch (JSONException e) {
e.printStackTrace();
}
}else{
pDialog.dismiss();
Toast.makeText(getApplicationContext(), "Compruebe su conexión e inténtelo de nuevo más tarde", Toast.LENGTH_SHORT).show();
//No hay datos
}
}
}
public final class SimpleCardStackAdapter extends CardStackAdapter {
public SimpleCardStackAdapter(Context mContext) {
super(mContext);
}
@Override
public View getCardView(int position, CardModel model, View convertView, ViewGroup parent) {
if(convertView == null) {
LayoutInflater inflater = LayoutInflater.from(getContext());
convertView = inflater.inflate(R.layout.std_card_inner, parent, false);
assert convertView != null;
}
int loader = R.drawable.ic_launcher;
final ImageView image = (ImageView) convertView.findViewById(R.id.sp_image);
ImageLoader imgLoader = new ImageLoader(mContext);
((TextView) convertView.findViewById(R.id.textView1)).setText(model.getTitle());
((TextView) convertView.findViewById(R.id.textView2)).setText(model.getDescription());
imgLoader.DisplayImage(model.getImage(), loader, image);
return convertView;
}
}
卡片型号
public class CardModel {
private String title;
private String description;
//private Drawable cardImageDrawable;
private String image;
/* private Drawable cardLikeImageDrawable;
private Drawable cardDislikeImageDrawable;*/
private OnCardDimissedListener mOnCardDimissedListener = null;
private OnClickListener mOnClickListener = null;
public interface OnCardDimissedListener {
void onLike();
void onDislike();
}
public interface OnClickListener {
void OnClickListener();
}
/*public CardModel(String string, Drawable drawable) {
this(null, null, null);
}*/
public CardModel(String title, String description, String image) {
this.title = title;
this.description = description;
//this.cardImageDrawable = cardImage;
this.image = image;
}
public CardModel(String title, String description, Bitmap cardImage) {
this.title = title;
this.description = description;
//this.cardImageDrawable = new BitmapDrawable(null, cardImage);
}
public CardModel(HashMap<String, String> map) {
this.title = title;
this.description = description;
this.image = image;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDescription() {
return description;
}
public String getImage(){
return image;
}
public void setDescription(String description) {
this.description = description;
}
public void setImage(String image) {
this.image = image;
}
公共类卡片模型{
私有字符串标题;
私有字符串描述;
//私人可抽梳棉机;
私有字符串图像;
/*私人可提款卡式可提款卡;
私人可支取卡,不喜欢可支取卡*/
private OnCardDimissedListener mOnCardDimissedListener=null;
private OnClickListener mOnClickListener=null;
公共接口OnCardDimissedListener{
void onLike();
void onDislike();
}
公共接口侦听器{
void OnClickListener();
}
/*公共卡型号(字符串、可抽出){
这个(空,空,空);
}*/
公共卡片模型(字符串标题、字符串描述、字符串图像){
this.title=标题;
this.description=描述;
//this.cardImageDrawable=cardImage;
这个图像=图像;
}
公共卡片模型(字符串标题、字符串描述、位图卡片图像){
this.title=标题;
this.description=描述;
//this.cardImageDrawable=新的BitmapDrawable(null,CardImages);
}
公共CardModel(HashMap映射){
this.title=标题;
this.description=描述;
这个图像=图像;
}
公共字符串getTitle(){
返回标题;
}
公共无效集合标题(字符串标题){
this.title=标题;
}
公共字符串getDescription(){
返回说明;
}
公共字符串getImage(){
返回图像;
}
公共void集合描述(字符串描述){
this.description=描述;
}
公共void setImage(字符串图像){
这个图像=图像;
}
非常感谢大家,您好!您可以使用ListView的setOnItemClickListener获取信息,并使用外部按钮显示显示详细信息的界面 让我们说:
ListView list = (ListView) findViewById(R.id.listview);
list.setOnItemClickListener(new AdapterView.onItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View view, int position, long arg) {
Object listItem = list.getItemAtPosition(position);
}
});
ListView list=(ListView)findViewById(R.id.ListView);
list.setOnItemClickListener(新的AdapterView.onItemClickListener(){
@凌驾
public void onItemClick(适配器视图适配器、视图视图、整型位置、长参数){
对象listItem=list.getItemAtPosition(位置);
}
});
引用自Hi,我目前没有使用任何列表