Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.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
Android在Imageview上自定义listview单击获取文本视图数据并打开活动 //将菜单项添加到ListView mylist=(ListView)findViewById(R.id.lstShowCatalog); ListAdapter=newLazyAdapter(this,menuItems,getApplicationContext()); mylist.setAdapter(适配器); mylist.setOnItemClickListener(新的OnItemClickListener(){ @凌驾 public void onItemClick(AdapterView父视图、视图、整型位置、, 长id){ //TODO自动生成的方法存根 如果(位置>=0) { TextView c=(TextView)view.findViewById(R.id.txtlageimage); largeimage=c.getText().toString(); ImageView thumb_image=(ImageView)view.findViewById(R.id.ivcatalouge);//thumb image thumb_image.setOnClickListener(新的OnClickListener(){ @凌驾 公共void onClick(视图v){ //TODO自动生成的方法存根 如果(largeimage.length()>0) { 意图i=新意图(); i、 setClass(getApplicationContext(),FrmShowSingleImage.class); i、 putExtra(“大图像”,大图像); 星触觉(i); //Toast.makeText(getApplicationContext(),largeimage,Toast.LENGTH_SHORT).show(); 大图像=”; } }}); //Toast.makeText(getApplicationContext(),largeimage,Toast.LENGTH_SHORT).show(); } }});_Android_Android Listview_Android Imageview_Textview - Fatal编程技术网

Android在Imageview上自定义listview单击获取文本视图数据并打开活动 //将菜单项添加到ListView mylist=(ListView)findViewById(R.id.lstShowCatalog); ListAdapter=newLazyAdapter(this,menuItems,getApplicationContext()); mylist.setAdapter(适配器); mylist.setOnItemClickListener(新的OnItemClickListener(){ @凌驾 public void onItemClick(AdapterView父视图、视图、整型位置、, 长id){ //TODO自动生成的方法存根 如果(位置>=0) { TextView c=(TextView)view.findViewById(R.id.txtlageimage); largeimage=c.getText().toString(); ImageView thumb_image=(ImageView)view.findViewById(R.id.ivcatalouge);//thumb image thumb_image.setOnClickListener(新的OnClickListener(){ @凌驾 公共void onClick(视图v){ //TODO自动生成的方法存根 如果(largeimage.length()>0) { 意图i=新意图(); i、 setClass(getApplicationContext(),FrmShowSingleImage.class); i、 putExtra(“大图像”,大图像); 星触觉(i); //Toast.makeText(getApplicationContext(),largeimage,Toast.LENGTH_SHORT).show(); 大图像=”; } }}); //Toast.makeText(getApplicationContext(),largeimage,Toast.LENGTH_SHORT).show(); } }});

Android在Imageview上自定义listview单击获取文本视图数据并打开活动 //将菜单项添加到ListView mylist=(ListView)findViewById(R.id.lstShowCatalog); ListAdapter=newLazyAdapter(this,menuItems,getApplicationContext()); mylist.setAdapter(适配器); mylist.setOnItemClickListener(新的OnItemClickListener(){ @凌驾 public void onItemClick(AdapterView父视图、视图、整型位置、, 长id){ //TODO自动生成的方法存根 如果(位置>=0) { TextView c=(TextView)view.findViewById(R.id.txtlageimage); largeimage=c.getText().toString(); ImageView thumb_image=(ImageView)view.findViewById(R.id.ivcatalouge);//thumb image thumb_image.setOnClickListener(新的OnClickListener(){ @凌驾 公共void onClick(视图v){ //TODO自动生成的方法存根 如果(largeimage.length()>0) { 意图i=新意图(); i、 setClass(getApplicationContext(),FrmShowSingleImage.class); i、 putExtra(“大图像”,大图像); 星触觉(i); //Toast.makeText(getApplicationContext(),largeimage,Toast.LENGTH_SHORT).show(); 大图像=”; } }}); //Toast.makeText(getApplicationContext(),largeimage,Toast.LENGTH_SHORT).show(); } }});,android,android-listview,android-imageview,textview,Android,Android Listview,Android Imageview,Textview,我想在thumb image onclick上打开一个新活动。当第一次选择项目时,它可以正常工作。如果我单击“拇指图像”而不选择项目,它将变为旧值 // Adding menuItems to ListView mylist=(ListView)findViewById(R.id.lstshowcatalogue); ListAdapter adapter=new LazyAdapter(this, menuItems,getApplicationContext()

我想在thumb image onclick上打开一个新活动。当第一次选择项目时,它可以正常工作。如果我单击“拇指图像”而不选择项目,它将变为旧值

  // Adding menuItems to ListView


   mylist=(ListView)findViewById(R.id.lstshowcatalogue);
        ListAdapter adapter=new LazyAdapter(this, menuItems,getApplicationContext());

             mylist.setAdapter(adapter);
             mylist.setOnItemClickListener(new OnItemClickListener(){

                @Override
                public void onItemClick(AdapterView<?> Parent, View view, int position,
                        long id) {
                    // TODO Auto-generated method stub
                    if(position>=0)
                    {
                        TextView c = (TextView) view.findViewById(R.id.txtlargeimage);
                       largeimage  = c.getText().toString();
                        ImageView thumb_image=(ImageView)view.findViewById(R.id.ivcatalouge); // thumb image
                        thumb_image.setOnClickListener(new OnClickListener(){

                            @Override
                            public void onClick(View v) {
                                // TODO Auto-generated method stub
                                if(largeimage.length()>0)
                                {
                                Intent i=new Intent();
                                i.setClass(getApplicationContext(), FrmShowSingleImage.class);
                                i.putExtra("largeimage", largeimage);
                                startActivity(i);
                                //Toast.makeText(getApplicationContext(), largeimage, Toast.LENGTH_SHORT).show();
                                largeimage="";
                                }
                            }}); 


                      //Toast.makeText(getApplicationContext(), largeimage, Toast.LENGTH_SHORT).show();


                    }
                }});
这是我更新的listview适配器
公共视图getView(int位置、视图转换视图、视图组父视图){
视图vi=转换视图;
if(convertView==null)
vi=充气机充气(R.layout.list_项,空);
TextView name=(TextView)vi.findviewbyd(R.id.name);//name
TextView desc=(TextView)vi.findViewById(R.id.description);//集合
TextView成本=(TextView)vi.findViewById(R.id.cost);//成本
TextView类别=(TextView)vi.findViewById(R.id.txtcategory);//成本
TextView规范=(TextView)vi.findviewbyd(R.id.txtspec);//成本
TextView-largeimg=(TextView)vi.findViewById(R.id.txtlageimage);//成本
ImageView thumb_image=(ImageView)vi.findViewById(R.id.ivcatalouge);//thumb image
thumb_image.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
TextView c=(TextView)v.findViewById(R.id.txtlageimage);
意图i=新意图();
i、 setClass(mCtx、frmshowsingelimage.class);
i、 putExtra(“largeimage”,c.getText());
mCtx.星触觉(i);
}});
HashMap宋=新HashMap();
宋=数据。获取(位置);
//在listview中设置所有值
name.setText(song.get(FrmShowCatlogue.KEY_MODEL));
desc.setText(song.get(FrmShowCatlogue.KEY_集合));
cost.setText(song.get(FrmShowCatlogue.KEY_MRP));
category.setText(song.get(FrmShowCatlogue.KEY_category));
spec.setText(song.get(FrmShowCatlogue.KEY_spec));
largeimg.setText(song.get(FrmShowCatlogue.KEY_LARGE));
较大的设置可见性(视图已消失);
尝试
{
字符串文件名=song.get(FrmShowCatlogue.KEY_IMAGES.toString());
filename=“thumbs/”+文件名;
//获取输入流
InputStream ims=mCtx.getAssets().open(文件名);
//将图像加载为可绘制
Drawable d=Drawable.createFromStream(ims,null);
//将图像设置为ImageView
thumb_图像。可设置图像绘制(d);
}
捕获(IOEX异常)
{
//thumb_image.setVisibility(View.GONE);
}
返回vi;
}

现在我在拇指点击时得到空指针异常。
我已经从listview的SetOnItemClickListener中删除了thumb_image onclick。我想也许你应该将thumb_image.setOnClickListener(…)放入适配器的getView方法中,这样,当显示相应的项时,正确的大图像将被设置为thumb_image的click事件。

如果你的列表项click没有被识别,这是因为您的自定义列表项中有许多可单击项(图像按钮、按钮…)。为这些项目设置
android:focusable=false
,然后单击listview即可


然后正如JaredLua所说,您应该在适配器中添加onClickLisener(),因为它只用于thumb_图像,而不用于整个listitem 从这三个环节你可以得到明确的想法,希望对你有所帮助


:)

现在,我在单击鼠标时遇到空指针异常。我已从ListView的SetOnItemClickListener中删除了thumb_image onclick在自定义列表项充气后是否将onclicklistener放入适配器中。您还需要在那里执行CustomListItem.findviewbyId(R.id.ivcatalouge);其中v是图像视图和列表项。这导致了空指针异常…ImageView thumb_image=(ImageView)vi.findViewById(R.id.ivcatalouge);//thumb image thumb_image.setOnClickListener(新OnClickListener(){@Override public void onClick(视图v){//TODO自动生成的方法存根boldTextView c=(TextView)v.findViewById(R。
Here is my updated listview adapter
 public View getView(int position, View convertView, ViewGroup parent) {
        View vi=convertView;
        if(convertView==null)
            vi = inflater.inflate(R.layout.list_item, null);

        TextView name = (TextView)vi.findViewById(R.id.name); // name
        TextView desc = (TextView)vi.findViewById(R.id.desciption); // collection
        TextView cost = (TextView)vi.findViewById(R.id.cost); // cost
        TextView category = (TextView)vi.findViewById(R.id.txtcategory); // cost
        TextView spec = (TextView)vi.findViewById(R.id.txtspec); // cost
        TextView largeimg = (TextView)vi.findViewById(R.id.txtlargeimage); // cost

        ImageView thumb_image=(ImageView)vi.findViewById(R.id.ivcatalouge); // thumb image

       thumb_image.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            TextView c = (TextView) v.findViewById(R.id.txtlargeimage);

             Intent i=new Intent();
                i.setClass(mCtx, FrmShowSingleImage.class);
                i.putExtra("largeimage", c.getText());
                mCtx.startActivity(i);

        }});

        HashMap<String, String> song = new HashMap<String, String>();
        song = data.get(position);

        // Setting all values in listview
        name.setText(song.get(FrmShowCatlogue.KEY_MODEL));
        desc.setText(song.get(FrmShowCatlogue.KEY_COLLECTION));
        cost.setText(song.get( FrmShowCatlogue.KEY_MRP));
        category.setText(song.get( FrmShowCatlogue.KEY_CATEGORY));
        spec.setText(song.get( FrmShowCatlogue.KEY_SPEC));
        largeimg.setText(song.get( FrmShowCatlogue.KEY_LARGE));
        largeimg.setVisibility(View.GONE);
                try 
        {
            String filename=song.get(FrmShowCatlogue.KEY_IMAGES.toString());
            filename="thumbs/" + filename;
            // get input stream
            InputStream ims = mCtx.getAssets().open(filename);
            // load image as Drawable
            Drawable d = Drawable.createFromStream(ims, null);
            // set image to ImageView
            thumb_image.setImageDrawable(d);
        }
        catch(IOException ex) 
        {

            //thumb_image.setVisibility(View.GONE);
        }

        return vi;
    }