Android SDK - ListView, launch different intents based on which row was clicked
new to android development and im working on getting my iOS app to Android. In my app im using listviews, and that works great. This is what i have so far, and its inside a tabwidget.
setListAdapter(new ArrayAdapter<String> (this, R.layout.row_style, ITEMS));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
static final String[] ITEMS = new String[] {
"Apple", "Google", "Hewlett Packard", "Adobe"
};
note that the ITEMS string array just is dummy data. Now here is my problem, if the user click on Apple i want to start a activity called AppleActivity. How can i with a onItemClickListener do that. In iphone sdk i can call
if 开发者_Go百科(objectAtIndex == 0)
Can i do something simular? Hope you guys can help.
Jonas :) note that the ITEMS string array just is dummy data. Now here is my problem, if the user click on Apple i want to start a activity called AppleActivity. How can i with a onItemClickListener do that. In iphone sdk i can call
if (objectAtIndex == 0)
Can i do something simular? Hope you guys can help.
Jonas :)
yes , you can , you will have something like this ->you set adapter after
yourList.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
//arg2 represents the position , the eletement at arg 2 that is clicked
if (arg2==1) startActivity (new Intent ("blabla"));
if(arg2==2) startActivity (new Intente("Adobeeee"));
}
This is because You're trying to start Adapter, while an Activity class must be a second parameter for Intent constructor. Also this activity must be described in manifest file.
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
if (position == 0) {
Intent algebra = new Intent(v.getContext(), AlgebraListViewController.class);
startActivity(algebra);
}
else if (position == 1) {
Intent oekonomi = new Intent(v.getContext(), OekonomiListViewController.class);
startActivity(oekonomi);
}
}
});
This should work fine, renamed the variables so you know what they are (instead of arg0, arg1, arg2, and arg3).
精彩评论