Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

ListViews on Android

Posted on 2011-02-22
4
Medium Priority
?
830 Views
Last Modified: 2012-05-11
Hey,

        I was trying to use ListViews to show a menu, and when one of the options was clicked, jump to a different activity, and contain some variables so the activity can carry out the operation.

I did get the ListView to work, because it was just placing an ArrayList inside the adapter, and it would work fine... but I'm having problems making it switch to the new activity properly...

I tried searching for tutorials on this, but I don't exactly know what I'm looking for...

Appreciate any help on this!
0
Comment
Question by:errang
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
4 Comments
 
LVL 47

Expert Comment

by:for_yan
ID: 34957151
Perhaps you'd post some part of your code and be a little bit more specific
on what you observe with regards to the undesired behavior
0
 

Author Comment

by:errang
ID: 34957522
I can't post the entire code... but I've rewritten it to a "hello world" level problem, so I can understand things more clearly.

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class Vehicle extends Activity {
	public void onCreate(Bundle savedBundleInstance) {
		super.onCreate(savedBundleInstance);
		setContentView(R.layout.vehicle);
		ArrayList<String> strArr = new ArrayList<String>();

	   	strArr.add("one");
		strArr.add("two");
		strArr.add("three");
		strArr.add("four");

		TextView tv = new TextView(this);
		tv.setText("TestView");
		ListView lv = (ListView)findViewById(R.id.listView);
		lv.addHeaderView(tv);
		lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, strArr));
	}
}

Open in new window


I figured out how to figure out what choice was clicked... but I have no idea how to launch a different activity that would do what its supposed to do.
0
 
LVL 5

Accepted Solution

by:
aciuica earned 1000 total points
ID: 34958855
You can search for startActivity
For example here is a sample:
http://www.androidcompetencycenter.com/2009/03/tutorial-how-to-start-a-new-activity/#
and first comment show also a posibility to pass parameters to sarted activity.
0
 
LVL 17

Assisted Solution

by:Dejan Pažin
Dejan Pažin earned 1000 total points
ID: 34960533
Add this to your code:

lv.setClickable(true);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
    Object clickedItem = lv.getItemAtPosition(position);
    // Depending on the clicked item value, open new activity:
    Intent selectedIntent = new Intent(Vehicle.this, SomeOtherActivity.class);
    Vehicle.this.startActivity(selectedIntent);    
  }
});
0

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Computer science students often experience many of the same frustrations when going through their engineering courses. This article presents seven tips I found useful when completing a bachelors and masters degree in computing which I believe may he…
Learn how to use the free Acronis True Image app to easily transfer data between iPhones and Android phones.
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
This video demonstrates how to sync Microsoft Exchange Public Folders with smartphones using CodeTwo Exchange Sync and Exchange ActiveSync. To learn more about CodeTwo Exchange Sync and download the free trial, go to: http://www.codetwo.com/excha…
Suggested Courses

610 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question