In my android application , i have three pages A,B,C.All the three pages have table layout.If i person clicks on a particular row other page related to that row will display.
Now what i require is if a person clicks on back after the second page,I need to focus the row which he had clicked in the first page on his return.
Can i do this in android
Please reply your valuable suggestions.
My code after Totramonhave suggested is.
Here in amy code i am generating rows dynamically.
public void onClick(View v) {
// TODO Auto-generated method stub
flag=v.getId();
if(v.getId()==1)
{
Intent i = new Intent(TableImageLayout.this, TableImageLayout3.class);
startActivity(i);
}
if(v.getId()==3)
{
Intent i = new Intent(TableImageLayout.this, TableImageLayout3.class);
startActivity(i);
}
if(v.getId()==5)
{
Intent i = new Intent(TableImageLayout.this, TableImageLayout3.class);
startActivity(i);
}
if(v.getId()==7)
{
Intent i = new Intent(TableImageLayout.this, TableImageLayout3.class);
startActivity(i);
}
if(v.getId()==100)
{
Intent i = new Intent(TableImageLayout.this, TableImageLayout3.class);
startActivity(i);
}
}
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if(hasFocus)
{
((TableRow)v).setBackgroundColor(Color.rgb(255, 180, 40));
}
else
{((TableRow)v).setBackgroundColor(Color.BLACK);}
}
protected void onResume() {
super.onResume();
tr[flag].requestFocus();
tr[flag].setFocusableInTouchMode(true);
if(tr[flag].hasFocus())
{
tr[flag].setBackgroundColor(Color.rgb(255, 180, 40));
}
else
{tr[flag].setBackgroundColor(Color.BLACK);}
}
@Override
public void onPause() {
super.onPause();
}
Thanks in advance 🙂
There are many ways to do this. I assume A, B, C and the page to start (D) are all Activities. You could store the selection, say in activity B, in a member variable before starting the sub activity D (for example in
onPause()), and restore focus when control returns to B’sonResume(). Or you could give the parameter to D in the intent’s extras, or therequestCodeparameter tostartActivityForResult()and return the same value from D by a call tosetResult(), which you’ll receive to B’sonActivityResult().onPause is called automatically when an Activity halts, and is often the place where you want to save something before giving up control. This happens after you have started activity D, but before it is brought to front. You only need to implement the function in your activity:
Although, it probably makes more sense to save the clicked row immediately in the row’s onClick or onItemSelected event, or wherever you start the sub activity.
onResume is also called automatically when returning from the sub activity, all you need to do is implement it.