无法启动新活动

美好的一天,我尝试从另一个开始新的活动。 但它总是崩溃。 我的代码。 它是ListView上的事件。

list.setOnItemClickListener(new OnItemClickListener(){ public void onItemClick(AdapterView parent, View view, int position, long id){ Student selected = (Student)list.getItemAtPosition(position); String selectedTitle = selected.FirstName; //ideally this would probably be done with accessors int selectedId = selected.studentId; String selectedDescription = selected.LastName; Intent i = new Intent(view.getContext(), StudentInfoActivity.class); i.putExtra("studentId", selectedId); try{ startActivity(i); }catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); 

向Manifest添加了一项活动

   

错误消息是

 06-15 17:17:00.471: E/AndroidRuntime(602): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.marat.mutw/com.marat.mutw.StudentInfoActivity}: java.lang.NullPointerException: uriString 

所有的previus活动,我添加的工作正常…

StudentInfoActivity

 public class StudentInfoActivity extends Activity { ImageView image; TextView firstLastName; TextView studentInfo; TextView addInfo; Student std; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.sudentinfolayout); image = (ImageView)findViewById(R.id.avatar); firstLastName = (TextView)findViewById(R.id.firstNameLastName); studentInfo = (TextView)findViewById(R.id.studentinfo); addInfo = (TextView)findViewById(R.id.description); int studentId = getIntent().getExtras().getInt("studentId"); JSONHandler handler = new JSONHandler(this.getApplicationContext()); std = new Student(); std = handler.GetStudentInfo(studentId); image.setImageURI(Uri.parse(std.imagePath)); firstLastName.setText(std.FirstName+ " "+std.LastName); } public void onClickApply(View view){ } } 

代替

 Intent i = new Intent(view.getContext(), StudentInfoActivity.class); 

改成

 Create static object of that activity 

例如,Activity actOne = null;

 public static actOne a ; a = this; Intent i = new Intent(a, StudentInfoActivity.class); 

试试这个。

 Intent i = new Intent(getApplicationContext(), StudentInfoActivity.class); i.putExtra("studentId", selectedId); startActivity(i);