How To Start New Activity Via Gridview Onitemclick?
i want to open new activity on itemclick listner in gridview.like this. Click position 1(india) ->open activity 1.Click position 2(brazil)->open activity 2.Click position 3(
Solution 1:
You can open activity using intent based on position
gridView.setOnItemClickListener(newOnItemClickListener()
{
@OverridepublicvoidonItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
if(position==1) {
Intentintent=newIntent(GridViewExampleActivity.this, IndiaActivity.class);
startActivity(intent);
}
elseif(position==2)
{
Intentintent=newIntent(GridViewExampleActivity.this, BrazilActivity.class);
startActivity(intent);
}
Toast.makeText(GridViewExampleActivity.this, mAdapter.getItem(position), Toast.LENGTH_SHORT).show();
}
});
Solution 2:
Starting any activity is exactly same in every situation. You just create an intent and supply it to startActivity() method.
@Override
publicvoidonItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3){
if(position == 1) {
// start activity for IndiastartActivity(newIntent(GridViewExampleActivity.this, InidaActivity.class));
} elseif(position == 2) {
// start activity for Brazil
}
}
Solution 3:
In your grid item click listener start the activity
gridView.setOnItemClickListener(new OnItemClickListener()
{
@Override
publicvoidonItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
Toast.makeText(GridViewExampleActivity.this, mAdapter.getItem(position), Toast.LENGTH_SHORT).show();
Intent intent = new Intent(GridViewExampleActivity.this , YourDetailsActivity.class)
intent.putExtra("country", listCountry.get(position);
intent.putExtra("flag", listFlag.get(position);
startActivity(intent);
}
});
and in your detail activity get data from intent like this
in onCreate()
country = (String)getIntent().getExtra().get("country");flag = (int)getIntent().getExtra().get("flag");
in your details activity you can check country selected and set data accordingly
if(country.equals("india")){
// Show data related to india
}
Solution 4:
you can try with country name also
switch (listCountry.get(position)) {
case"India":
Intent intent = new Intent(GridViewExampleActivity.this,IndiaActivity.class);
break;
case"Brazil":
Intent intent = new Intent(GridViewExampleActivity.this,BrazilActivity.class);
break;
}
startActivity(intent);
Solution 5:
Use this code -
gridview.setOnItemClickListener(new OnItemClickListener() {
publicvoidonItemClick(AdapterView<?> parent, View v,int position, long id) {
switch (position) {
case0:
//Use some different intent here
Intent i = new Intent(getApplicationContext(), MyActivity.class);
i.putExtra("id", position);
startActivity(i);
break;
case1:
//Use some different intent here
Intent j = new Intent(getApplicationContext(), MyActivity.class);
j.putExtra("id", position);
startActivity(j);
break;
case2:
//Use some different intent here
Intent k = new Intent(getApplicationContext(), MyActivity.class);
k.putExtra("id", position);
startActivity(k);
break;
case3:
//Use some different intent here
Intent l = new Intent(getApplicationContext(), MyActivity.class);
l.putExtra("id", position);
startActivity(l);
break;
default:
break;
}
}
});
Here's you can see more explained code.
http://www.androidbegin.com/tutorial/android-simple-gridview-tutorial/
Post a Comment for "How To Start New Activity Via Gridview Onitemclick?"