Я новичок в Android App.Я работаю над приложением, которое должно отображать изображение и текст в listView.Для этого я должен был расширить ListActivity.В этом я использовал EfficientAdapter, расширяющий BaseAdapter.Я также установил OnItemClickListner.Но когда я пытаюсь открыть новый экран, нажимая на любой элемент, мое приложение вызывает исключение NullPointer в методе intent и startActivity.
public class MyClass extends ListActivity {
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setListAdapter(new StationAdapter(this));
..
}
private static class StationAdapter extends BaseAdapter {
static LayoutInflater mYInflater;
public StationAdapter(Context context) {
mYInflater = LayoutInflater.from(context);
}
public int getCount() {
return MyArray.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(convertView == null) {
holder = new ViewHolder();
convertView = myInflater.inflate(R.layout.customlister, null);
holder.title = (TextView)convertView.findViewById(R.id.myTitle);
holder.icon = (ImageView)convertView.findViewById(R.id.myIcon);
}
else {
holder = (ViewHolder)convertView.getTag();
}
holder.title.setText(MyArray[position]);
holder.icon.setImageBitmap(iconImages[position]);
convertView.setOnClickListener(new OnItemClickListener(position));
return convertView;
}
static class ViewHolder {
TextView title;
ImageView icon;
}
private class OnItemClickListener implements OnClickListener {
private int mPosition;
OnItemClickListener(int position) {
mPosition = position;
}
public void onClick(View view) {
try {
System.out.println("Clicked On Row - = " + mPosition);
Intent i = new Intent(MyCurrentClass.this,MyNewClass.class);
startActivity(i);
}
catch (Exception e) {
System.out.println("XML Pasing Excpetion = " + e);
}
}
}
}
}
Следующие две строки:
Intent i = new Intent(MyCurrentClass.this,MyNewClass.class);
startActivity(i);
Работаетхорошо, если я прямо напишу их в My Class, которые расширяют ListActivity.Но это не работает здесь.Я попытался установить My Intent в методе OnCreate, а затем создать функцию:
public void GoToNextScreen() {
try {
startActivity(i);
}
catch (Exception e) {
System.out.println("XML Parsing Exception = " + e);
}
}
Затем в своей реализации OnItemClickListener я вызвал этот метод, но все еще исключение.Пожалуйста, помогите мне, как я могу перейти на новый экран.Любая помощь будет принята с благодарностью.
Заранее спасибо.