Solved

ListViews on Android

Posted on 2011-02-22
4
804 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 250 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 250 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

The Ultimate Checklist to Optimize Your Website

Websites are getting bigger and complicated by the day. Video, images, custom fonts are all great for showcasing your product/service. But the price to pay in terms of reduced page load times and ultimately, decreased sales, can lead to some difficult decisions about what to cut.

Question has a verified solution.

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

This is about my first experience with programming Arduino.
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
Introduction to Processes

717 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