Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 加载自定义ListView时出错(空指针异常)_Android_Listview_Android Listview - Fatal编程技术网

Android 加载自定义ListView时出错(空指针异常)

Android 加载自定义ListView时出错(空指针异常),android,listview,android-listview,Android,Listview,Android Listview,我在我的ListView中膨胀了4个东西 1.形象 2.文本 3.文本 4.文本 (空指针异常) 带有自定义适配器的主类文件 来源: ListView list_hashtag=null; private HashTag_Result mhashtag; private HashTag_Result_Adapter adapter; private ArrayList<HashTag_Result_Data > arr_list_data=new ArrayList<Hash

我在我的ListView中膨胀了4个东西

1.形象

2.文本

3.文本

4.文本 (空指针异常)

带有自定义适配器的主类文件

来源:

ListView list_hashtag=null;
private HashTag_Result mhashtag;
private HashTag_Result_Adapter adapter;

private ArrayList<HashTag_Result_Data > arr_list_data=new ArrayList<HashTag_Result_Data>();


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_hash_tag_result);

    list_hashtag=(ListView)findViewById(R.id.listview_hashtag);
    Resources res=getResources();
    setListData();
    mhashtag=this;
    adapter=new HashTag_Result_Adapter(mhashtag,arr_list_data,res);
    list_hashtag.setAdapter(adapter);


}


private void setListData() {

    DateFormat dformat=new SimpleDateFormat("dd-MM-yyyy");

    Date date=new Date();

    for(int i=0;i<30; i++)
    {
        final HashTag_Result_Data result_data=new HashTag_Result_Data();
        result_data.setImage("image" +i);
        result_data.setName("User " +i);
        result_data.setStatus("Lorem Lipsum is simply dummy text in typecasting and printing industry");
        result_data.setDate("Date is " +dformat.format(date));

        arr_list_data.add(result_data);
    }

}
public void onItemClick(int position)
{
    HashTag_Result_Data temp_values=(HashTag_Result_Data)arr_list_data.get(position);
    Intent i=new Intent(getApplicationContext(),HashTag_Snap_Of_Day.class);
    startActivity(i);
    overridePendingTransition(R.anim.animation, R.anim.animation2);
    finish();
}
public class HashTag_Result_Adapter extends BaseAdapter implements OnClickListener {

Activity mactivity;
Resources res1;
ArrayList arr_list;
int i=0;
private static LayoutInflater l_inflater;
HashTag_Result_Data result_data=null;
public HashTag_Result_Adapter(Activity a,ArrayList arr_data,Resources res2 )  
{
    mactivity=a;
    arr_list=arr_data;
    res1=res2;
    l_inflater=(LayoutInflater)mactivity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {

    if(arr_list.size()<=0)
    return 1;
    return arr_list.size();
}
@Override
public Object getItem(int position) {
    // TODO Auto-generated method stub
    return position;
}
@Override
public long getItemId(int position) {
    // TODO Auto-generated method stub
    return position;
}


public static class ViewHolder
{
    public ImageView image1;
    public TextView text1;
    public TextView text2;
    public TextView text3;
}
public View getView(int position, View convertView, ViewGroup parent) {

    View vi=convertView;
    ViewHolder holder;
    if(convertView==null)
    {
        vi=l_inflater.inflate(R.layout.hashtag_result_listview_item, null);
        holder=new ViewHolder();

        holder.image1=(ImageView)vi.findViewById(R.id.imageview_hashtag_result_item1);
        holder.text1=(TextView)vi.findViewById(R.id.TextView_hashtag_result_item2);
        holder.text2=(TextView)vi.findViewById(R.id.TextView_hashtag_result_item3);
        holder.text3=(TextView)vi.findViewById(R.id.TextView_hashtag_result_item4);

        vi.setTag(holder);
    }
    else
        holder=(ViewHolder)vi.getTag();
    if(arr_list.size()<=0)
    {
        holder.text1.setText("Currently no item ");
    }
    else
    {
        result_data=null;
        result_data=(HashTag_Result_Data)arr_list.get(position);

        holder.image1.setImageResource(res1.getIdentifier("com.example.youthchat:drawable/"+result_data.getImage(),null,null));
        holder.text1.setText(result_data.getName());
        holder.text2.setText(result_data.getStatus());
        holder.text3.setText(result_data.getDate());

        vi.setOnClickListener(new OnItemClickListener(position));
    }   
    return vi;
}
@Override
public void onClick(View v) {


}

private class OnItemClickListener implements OnClickListener{

    private int mpostion;
    OnItemClickListener(int position)
    {
        mpostion=position;
    }
    @Override
    public void onClick(View v) {

        MainActivity mact=(MainActivity)mactivity;
        mact.onItemClick(mpostion);
}

 }


}
 03-06 18:43:28.548: D/AndroidRuntime(14888): Shutting down VM
 03-06 18:43:28.548: W/dalvikvm(14888): threadid=1: thread exiting with uncaught                   exception (group=0x40c341f8)
 03-06 18:43:28.548: E/AndroidRuntime(14888): FATAL EXCEPTION: main
 03-06 18:43:28.548: E/AndroidRuntime(14888): java.lang.RuntimeException: Unable to   start activity     ComponentInfo{com.example.youthchat/com.example.youthchat.HashTag_Result}:  java.lang.NullPointerException
   03-06 18:43:28.548: E/AndroidRuntime(14888):     at  android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1968)
 03-06 18:43:28.548: E/AndroidRuntime(14888):   at     android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1993)
 03-06 18:43:28.548: E/AndroidRuntime(14888):   at    android.app.ActivityThread.access$600(ActivityThread.java:127)
 03-06 18:43:28.548: E/AndroidRuntime(14888):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1159)
 03-06 18:43:28.548: E/AndroidRuntime(14888):   at android.os.Handler.dispatchMessage(Handler.java:99)
 03-06 18:43:28.548: E/AndroidRuntime(14888):   at android.os.Looper.loop(Looper.java:137)
 03-06 18:43:28.548: E/AndroidRuntime(14888):   at android.app.ActivityThread.main(ActivityThread.java:4507)
 03-06 18:43:28.548: E/AndroidRuntime(14888):   at java.lang.reflect.Method.invokeNative(Native Method)
 03-06 18:43:28.548: E/AndroidRuntime(14888):   at java.lang.reflect.Method.invoke(Method.java:511)
  03-06 18:43:28.548: E/AndroidRuntime(14888):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:978) 
  03-06 18:43:28.548: E/AndroidRuntime(14888):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:745)
 03-06 18:43:28.548: E/AndroidRuntime(14888):   at dalvik.system.NativeStart.main(Native Method) 
  03-06 18:43:28.548: E/AndroidRuntime(14888): Caused by: java.lang.NullPointerException
  03-06 18:43:28.548: E/AndroidRuntime(14888):  at com.example.youthchat.HashTag_Result.onCreate(HashTag_Result.java:34)
 03-06 18:43:28.548: E/AndroidRuntime(14888):   at android.app.Activity.performCreate(Activity.java:4469)
     03-06 18:43:28.548: E/AndroidRuntime(14888):   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1052)
     03-06 18:43:28.548: E/AndroidRuntime(14888):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1932)
       03-06 18:43:28.548: E/AndroidRuntime(14888):     ... 11 more
  03-06 18:43:28.578: D/dalvikvm(14888): GC_CONCURRENT freed 774K, 13% free 8277K/9479K, paused 1ms+2ms

您正在尝试将
活动
转换为
HashTag\u结果
,并将其传递给适配器


adapter=newhashtag\u Result\u adapter(这个,arr\u列表\u数据,res)

最后我解决了这个问题,从紧张中解脱出来

问题是

 list_hashtag=(ListView)findViewById(R.id.listview_hashtag);
实际上,问题在于重复的id。。。 现在我在xml中添加了新id

 list_hashtag=(ListView)findViewById(R.id.listview_hashtag_result);

它工作正常…

有什么问题或错误吗?它说空指针异常@PiyushGuptaPost logcat并指示NPE的行。为什么或者为什么或者为什么人们不发布logcat?!不要声明此ListView列表\u hashtag=null;就像ListView列表\u标签一样;