Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过Android上的外部按钮获取适配器信息_Java_Android_Button_Android Asynctask_Adapter - Fatal编程技术网

Java 通过Android上的外部按钮获取适配器信息

Java 通过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

我希望通过外部按钮从视图的当前项接收信息,因为它显示图像,按钮位于适配器外部。有人能帮我吗

图片: MainActivity.class

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,我目前没有使用任何列表