如何从ImageList显示完整的图像

时间:2014-05-28 14:03:18

标签: android image listview

我有带名字的图片列表视图。我希望显示来自他们的完整图像,因为我在另一个xml中点击其中的任何一个。我从stackoverflow中的一个问题得到了整个想法。这是代码。 activity_main.xml中

 <LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:textSize="25dp"
      android:textStyle="bold"
      android:text=" Computer Languages..." />
   <ListView
      android:id="@+id/listView"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent" >
      </ListView>
   </LinearLayout>

program_list.xml

  <?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >
   <ImageView
     android:id="@+id/imageView1"
     android:layout_gravity="center"
     android:layout_width="48dp"
     android:layout_height="48dp"
     android:src="@drawable/ic_launcher" />
   <TextView
     android:id="@+id/textView1"
     android:layout_gravity="center"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:textSize="25dp"
     android:text="TextView" />
   </LinearLayout>

MainActivity.java

  package com.gnetspace.customlistview;
   import java.util.ArrayList;
   import android.os.Bundle;
   import android.app.Activity;
   import android.content.Context;
   import android.view.Menu;
   import android.widget.ListView;
  public class MainActivity extends Activity {
     ListView lv;
     Context context;
     ArrayList prgmName;
    public static int [] prgmImages={R.drawable.images,R.drawable.images1,R.drawable.images2,R.drawable.images3,R.drawable.images4,R.drawable.images5,R.drawable.images6,R.drawable.images7,R.drawable.images8};
    public static String [] prgmNameList={"Let Us C","c++","JAVA","Jsp","Microsoft .Net","Android","PHP","Jquery","JavaScript"};
   @Override
     protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
     context=this;
     lv=(ListView) findViewById(R.id.listView);
     lv.setAdapter(new CustomAdapter(this, prgmNameList,prgmImages));
    }
     @Override
        public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
       return true;
      }
    }

CustomAdapter.java

  package com.gnetspace.customlistview;
   import android.content.Context;
   import android.view.LayoutInflater;
   import android.view.View;
   import android.view.View.OnClickListener;
   import android.view.ViewGroup;
   import android.widget.BaseAdapter;
   import android.widget.ImageView;
   import android.widget.TextView;
   import android.widget.Toast;
  public class CustomAdapter extends BaseAdapter{ 
     String [] result;
     Context context;
     int [] imageId;
     private static LayoutInflater inflater=null;
     public CustomAdapter(MainActivity mainActivity, String[] prgmNameList, int[] prgmImages) {
       // TODO Auto-generated constructor stub
     result=prgmNameList;
     context=mainActivity;
     imageId=prgmImages;
     inflater = ( LayoutInflater )context.
     getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }
    @Override
      public int getCount() {
    // TODO Auto-generated method stub
      return result.length;
     }
     @Override
       public Object getItem(int position) {
     // TODO Auto-generated method stub
       return position;
     }
     @Override
       public long getItemId(int position) {
    // TODO Auto-generated method stub
       return position;
     }
      public class Holder {
        TextView tv;
        ImageView img;
     }
      @Override
        public View getView(final int position, View convertView, ViewGroup parent) {
       // TODO Auto-generated method stub
        Holder holder=new Holder();
        View rowView;        
        rowView = inflater.inflate(R.layout.program_list, null);
        holder.tv=(TextView) rowView.findViewById(R.id.textView1);
        holder.img=(ImageView) rowView.findViewById(R.id.imageView1);       
        holder.tv.setText(result[position]);
        holder.img.setImageResource(imageId[position]);         
        rowView.setOnClickListener(new OnClickListener() {         
       @Override
          public void onClick(View v) {
        // TODO Auto-generated method stub
          Toast.makeText(context, "You Clicked "+result[position], Toast.LENGTH_LONG).show();
       }
    });  
     return rowView;
   }
  }

现在我有另一个名为full_image.xml的xml。当我单击图像时,我想在full_image.xml中显示该图像。 这是full_image.xml

 <LinearLayout
   xmlns : android = " http:// schemas.android.com / apk / res / android "
   android : layout_width = " match_parent "
   android : layout_height = " match_parent "
   android : orientation="vertical ">
 <ImageView
   android : id = " @ + id / fullImage"
   android : layout_width = " match_parent "
   android : layout_height = " match_parent "
   android : src = " @drawable / ic_launcher "
  </LinearLayout >

请告诉我如何解决它。帮我代码。感谢名单

1 个答案:

答案 0 :(得分:0)

您要启动显示第二个xml的第二个活动。通过意图中的参数传递要显示的图像。