Starting an activity from another activity has been explained here. But how to do the same thing from a custom LinearLayout? A button from a LinearLayout will be such a fancy thing than a standard Button. Here how it is done.
Make sure that your LinearLayout has android:clickable property value set to true. Basically done it in XML:
android:clickable="true"
From your activity, get your LinearLayout from it’s id. In this example, my LinearLayout has id: menuNews and I named it as menuNews variable of LinearLayout.
LinearLayout newsMenu = (LinearLayout) this.findViewById(R.id.menuNews);
Inside your activity class, create a local private variable named activity to store your activity references.
private Activity myActivity;
and on your onCreate() method put your activity reference on myActivity variable
this.myActivity = this;
Then, set LinearLayout’s onClickListener with:
newsMenu.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Log.i("myApp", "newsMenu clicked!"); Intent i = new Intent(myActivity.getApplicationContext(), NewsActivity.class); activity.startActivity(i); } });
That’s it. Your LinearLayout should now clickable and can be used as a Button replacement to start another activity.