i have tabview with 4 tabs and i am using TabHost to display tabs my application. every tab is filled by another class extends from ListActivity and here is the code
public class TabbedActivity extends TabActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab_layout);
TabHost tabHost = getTabHost();
// Tab for Catalog
TabSpec catalogspec = tabHost.newTabSpec("Catalog");
catalogspec.setIndicator("Complete Catalog Fall 2012", getResources().getDrawable(R.drawable.ic_catalog));
Intent catalogIntent = new Intent(this, Category.class);
catalogspec.setContent(catalogIntent);
// Adding all TabSpec to TabHost
tabHost.addTab(catalogspec); // Adding catalog tab
}
and this the code at the other intent
public class Category extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_of_data);
Categories = new ArrayList<String>();
fillListCategories();
myListItems = new ArrayList<String>();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, Categories);
this.setListAdapter(adapter);
}}
at the Listview there is list of items ,, my Point is how to set the Onclick to open another "ListActivity" in the same Tab ?!!
In your Category class, add an onClickListener like so:
public class Category extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_of_data);
Categories = new ArrayList<String>();
fillListCategories();
myListItems = new ArrayList<String>();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, Categories);
this.setListAdapter(adapter);
this.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick( AdapterView<?> parent, View item,
int position, long id) {
mSelectedCategory = (String)parent.getItemAtPosition(position);
Intent intent = new Intent(getBaseContext(), ScreenTwo.class);
intent.putExtra("name", mSelectedCategory.(WHATEVER INFO YOU NEED ABOUT THE CATEGORY);
startActivity(intent);
}
});
}}
ScreenTwo.java would look like the category class with the ListAdapter but with the information that was passed through the intent:
public class ScreenTwo extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_of_data);
Bundle b = getIntent().getExtras();
String Name = b.getString("name");
Categories = new ArrayList<String>();
fillListCategories();
myListItems = new ArrayList<String>();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, Categories);
this.setListAdapter(adapter);
}}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.