Android NullPointerException,没有任何内容为null
我正试图从活动A向活动B发送一些数据。 适配器代码:Android NullPointerException,没有任何内容为null,android,android-intent,Android,Android Intent,我正试图从活动A向活动B发送一些数据。 适配器代码: @Override public View getView(final int position, View convertView, final ViewGroup parent) { final ViewHolder mHolder; if(convertView != null){ mHolder = (ViewHolder)convertView.getTag(); }else{
@Override
public View getView(final int position, View convertView, final ViewGroup parent) {
final ViewHolder mHolder;
if(convertView != null){
mHolder = (ViewHolder)convertView.getTag();
}else{
mHolder = new ViewHolder();
convertView = mLayoutInflater.inflate(R.layout.view_video_item,null);
mHolder.mVideoThumbnail = (ImageView)convertView.findViewById(R.id.video_thumbnail);
mHolder.mVideoTitle = (TextView)convertView.findViewById(R.id.video_title);
mHolder.mVideoFavorite = (ImageView)convertView.findViewById(R.id.video_favorite);
convertView.setTag(mHolder);
}
//Setting the data
final SearchResult result = mVideoList.get(position);
mHolder.mVideoTitle.setText(result.getSnippet().getTitle());
//Loading the image
Picasso.with(mActivity).load(result.getSnippet().getThumbnails().getMedium().getUrl()).into(mHolder.mVideoThumbnail);
//OnClickListeners
mHolder.mVideoFavorite.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AppUtils.showToast(result.getSnippet().getTitle() + " Was added to favorites.");
m.sendResult = result;
m.sendToFavorites();
}
});
在适配器中初始化:
private Activity mActivity = null;
private List<SearchResult> mVideoList = null;
private LayoutInflater mLayoutInflater = null;
MainActivity m = new MainActivity();
这就是我遇到的问题:
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
根据IDE,问题出在生产线的主要活动中
Intent fav=new…您永远不应该新建一个扩展活动的类,使用Android框架提供的实例
newintent(MainActivity.this
MainActivity.this
在代码中的此处为null
(它提供的上下文)
查看newintent(Context
的源代码,您将看到它在哪里执行Context.getPackageName
导致:
要解决此问题,您需要使用正确的上下文(活动)
将方法调用更改为
m.sendToFavorites(mActivity);
你的方法是什么
public void sendToFavorites(上下文){
Intent fav=new Intent(context,Favorites.class);
请显示侦听器的整个实现或发送数据的任何内容。@Blackbelt有可能吗?我不使用context context或类似的东西。stacktrace是这样说的。你能发布异常的完整stacktrace吗?new Intent(MainActivity.this
MainActivity.this
在代码中的此处为空(它提供的上下文)。查看源代码以获取新的意图(上下文),您将看到它在哪里执行context.getPackageName
m.sendToFavorites(mActivity);
public void sendToFavorites(上下文){Intent fav=new Intent(context,Favorites.class);
。您永远不应该新建一个扩展活动的类,还应该使用Android框架提供的实例。
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference