how to apply click event listener to image in android

后端 未结 3 584
遇见更好的自我
遇见更好的自我 2020-12-08 02:50

i want to apply an onClickListener event to an imageView, how do I accomplish this? Can anyone provide me with some source code examples

相关标签:
3条回答
  • 2020-12-08 03:11
    ImageView img = (ImageView) findViewById(R.id.myImageId);
    img.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
           // your code here
        }
    });
    
    0 讨论(0)
  • 2020-12-08 03:19

    In xml:

    <ImageView  
     android:clickable="true"  
     android:onClick="imageClick"  
     android:src="@drawable/myImage">  
     </ImageView>  
    

    In code

     public class Test extends Activity {  
      ........  
      ........  
     public void imageClick(View view) {  
      //Implement image click function  
     }  
    
    0 讨论(0)
  • 2020-12-08 03:31

    Try this example.

    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"
        tools:context=".MainActivity" >
    
    <GridView
        android:numColumns="auto_fit"
        android:gravity="center"
        android:columnWidth="100dp"
        android:stretchMode="columnWidth"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/grid"
        android:background="#fff7ff"
        />
    
        </LinearLayout>
    

    grid_single.xml:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dp" >
    
        <ImageView
            android:id="@+id/grid_image"
            android:layout_width="60dp"
            android:layout_height="60dp"
    
            >
        </ImageView>
    
        <TextView
            android:id="@+id/grid_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="15dp"
            android:textSize="9sp"
            android:textColor="#3a0fff">
        </TextView>
    
    </LinearLayout>
    

    CustomGrid.java:

    package com.example.lalit.gridtest;
    
    import android.content.Context;
            import android.view.LayoutInflater;
            import android.view.View;
            import android.view.ViewGroup;
            import android.widget.BaseAdapter;
            import android.widget.ImageView;
            import android.widget.TextView;
    
    public class CustomGrid extends BaseAdapter {
        private Context mContext;
        private final String[] web;
        private final int[] Imageid;
    
        public CustomGrid(Context c, String[] web, int[] Imageid) {
            mContext = c;
            this.Imageid = Imageid;
            this.web = web;
        }
    
        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return web.length;
        }
    
        @Override
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return null;
        }
    
        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return 0;
        }
    
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            // TODO Auto-generated method stub
            View grid;
            LayoutInflater inflater = (LayoutInflater) mContext
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    
            if (convertView == null) {
    
                grid = new View(mContext);
                grid = inflater.inflate(R.layout.grid_single, null);
                TextView textView = (TextView) grid.findViewById(R.id.grid_text);
                ImageView imageView = (ImageView) grid.findViewById(R.id.grid_image);
                textView.setText(web[position]);
                imageView.setImageResource(Imageid[position]);
            } else {
                grid = (View) convertView;
            }
    
            return grid;
        }
    }
    

    MainActivity.java:

    package com.example.lalit.gridtest;
    
    import android.content.Intent;
    import android.net.Uri;
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.GridView;
    import android.widget.ImageView;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
        GridView grid;
        String[] web = {
                "Mom",
                "Mahendra",
                "Narayan",
                "Bhai",
                "Deepak",
                "Sanjay",
                "Navdeep",
                "Lovesh",
    
    
        };
        int[] imageId = {
                R.drawable.ic_launcher,
                R.drawable.ic_launcher,
                R.drawable.ic_launcher,
                R.drawable.ic_launcher,
                R.drawable.ic_launcher,
                R.drawable.ic_launcher,
                R.drawable.ic_launcher,
                R.drawable.ic_launcher,
                R.drawable.ic_launcher,
                R.drawable.ic_launcher,
                R.drawable.ic_launcher,
                R.drawable.ic_launcher,
                R.drawable.ic_launcher,
                R.drawable.ic_launcher,
                R.drawable.ic_launcher
    
        };
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            final CustomGrid adapter = new CustomGrid(MainActivity.this, web, imageId);
            grid = (GridView) findViewById(R.id.grid);
            grid.setAdapter(adapter);
            grid.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    
                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                                        int position, long id){
    
                    if (web[position].toString().equals("Mom")) {
                        try {
                            String uri ="te:"+ "**********";
    
                            Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(uri));
                            startActivity(callIntent);
                        } catch (Exception e) {
                            Toast.makeText(getApplicationContext(), "Your call has failed...",
                                    Toast.LENGTH_LONG).show();
                            e.printStackTrace();
    
                        }
                    }
    
    
                        if (web[position].toString().equals("Mahendra")) {
                            try {
                                String uri = "tel:" + "**********";
    
                                Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(uri));
                                startActivity(callIntent);
                            } catch (Exception e) {
                                Toast.makeText(getApplicationContext(), "Your call has failed...",
                                        Toast.LENGTH_LONG).show();
                                e.printStackTrace();
    
                            }
                        }
    
    
                          if(web[position].toString().equals("Narayan")){
    
                        try {
                            String uri = "tel:" + "**********";
    
                            Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(uri));
                            startActivity(callIntent);
                        } catch (Exception e) {
                            Toast.makeText(getApplicationContext(), "Your call has failed...",
                                    Toast.LENGTH_LONG).show();
                            e.printStackTrace();
    
                        }
    
    
                 }
                    if(web[position].toString().equals("Bhai")){
    
                        try {
                            String uri = "tel:" + "**********";
    
                            Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(uri));
                            startActivity(callIntent);
                        } catch (Exception e) {
                            Toast.makeText(getApplicationContext(), "Your call has failed...",
                                    Toast.LENGTH_LONG).show();
                            e.printStackTrace();
    
                        }
    
    
                    }
    
                    if(web[position].toString().equals("Deepak")){
    
                        try {
                            String uri = "tel:" + "**********";
    
                            Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(uri));
                            startActivity(callIntent);
                        } catch (Exception e) {
                            Toast.makeText(getApplicationContext(), "Your call has failed...",
                                    Toast.LENGTH_LONG).show();
                            e.printStackTrace();
    
                        }
    
    
                    }
    
    
                    if(web[position].toString().equals("Sanjay")){
    
                        try {
                            String uri = "tel:" + "**********";
    
                            Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(uri));
                            startActivity(callIntent);
                        } catch (Exception e) {
                            Toast.makeText(getApplicationContext(), "Your call has failed...",
                                    Toast.LENGTH_LONG).show();
                            e.printStackTrace();
    
                        }
    
    
                    }
                    if(web[position].toString().equals("Navdeep")){
    
                        try {
                            String uri = "tel:" + "**********";
    
                            Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(uri));
                            startActivity(callIntent);
                        } catch (Exception e) {
                            Toast.makeText(getApplicationContext(), "Your call has failed...",
                                    Toast.LENGTH_LONG).show();
                            e.printStackTrace();
    
                        }
    
    
                    }
                    if(web[position].toString().equals("Lovesh")){
    
                        try {
                            String uri = "tel:" + "**********";
    
                            Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(uri));
                            startActivity(callIntent);
                        } catch (Exception e) {
                            Toast.makeText(getApplicationContext(), "Your call has failed...",
                                    Toast.LENGTH_LONG).show();
                            e.printStackTrace();
    
                        }
    
    
                    }
    
                    }
    
    
    
            });
    
        }
    
        }
    

    AndroidManifest.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.lalit.gridtest" >
        <uses-permission android:name="android.permission.CALL_PHONE" />
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name=".MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    
    </manifest>
    
    0 讨论(0)
提交回复
热议问题