0

试图在可扩展列表视图中获取子项的文本值。

在 onchildclick 事件中获取空指针异常。

 E/AndroidRuntime(358): at tournament.tracker.pkg.ExpList$5.onChildClick(ExpList.java:124)

第 124 行是该adapter.getChild行。

我正在尝试将单击的子项的字符串值传递给另一个活动。

expList.setOnChildClickListener(new OnChildClickListener()
  {

    @Override
    public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
        ExpandableListAdapter adapter = getExpandableListAdapter();
        gametype = adapter.getChild(groupPosition, childPosition).toString();
        //---------------------
        Intent pullt = new Intent(ExpList.this, JsonActivity.class);
        Bundle bundle = new Bundle();
        bundle.putString("gametype", gametype);
        pullt.putExtras(bundle);
        pullt.putExtra("gametype", gametype);

        startActivity(pullt);
        //---------------------
        return false;
    }

  });

任何人都知道为什么这不起作用?如果可能,请提供帮助

编辑

这是适配器:

public class ExpAdapter extends BaseExpandableListAdapter {

      private Context myContext;
      public ExpAdapter(Context context) {
       myContext = context;
      }

      @Override
      public Object getChild(int groupPosition, int childPosition) {
       return null;
      }

      // Other code - not relevant
     }
4

1 回答 1

3
public Object getChild(int groupPosition, int childPosition) {
    return null;
}

此函数将始终返回 null。尝试以任何方式(如使用toString())访问 null 将创建一个空指针异常,您必须实现此函数才能返回实际数据。

修复可能是:

public Object getChild(int groupPosition, int childPosition) {
    return ExpList.arrChildelements[groupPosition][childPosition];;
}
于 2012-05-24T18:03:51.990 回答