Я пытаюсь настроить OnItemClickListener для ListView, который был создан внутри основного действия (расширение Activity).Следующий код не стреляет.Почему не запускается onItemClick?
Main.java
import java.io.InputStream;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
public class Main extends Activity {
/** Called when the activity is first created. */
List<Title> titleList;
ListView lv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// set list view
setContentView(R.layout.listview);
setTitle("TITLE");
// Create Parser for raw/countries.xml
TitleParser titleParser = new TitleParser();
InputStream inputStream = getResources().openRawResource(R.raw.titles);
// Parse the input stream
titleParser.parse(inputStream);
// Get Titles
titleList = titleParser.getList();
// Create a customized ArrayAdapter
TitleArrayAdapter adapter = new TitleArrayAdapter(
getApplicationContext(), R.layout.title_listitem, titleList);
// Get reference to ListView holder
lv = (ListView) this.findViewById(R.id.titleLV);
// Set the ListView adapter
lv.setAdapter(adapter);
// on list item click
AdapterView.OnItemClickListener listener = new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
Title title = (Title) lv.getItemAtPosition(position);
try{
Class<?> challengeClass = Class.forName("com.glvangorp.app.TITLECHALLENGE");
Intent challengeIntent = new Intent(Main.this, challengeClass);
challengeIntent.putExtra("challenge", title.challenge);
challengeIntent.putExtra("title", title.resourceId);
startActivity(challengeIntent);
} catch(ClassNotFoundException e){
Log.d("TAG", e.getMessage());
e.printStackTrace();
}
}
};
lv.setOnItemClickListener(listener);
}
}
listview.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ListView
android:id="@+id/titleLV"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</ListView>
</LinearLayout>