qq_35361178 2016-06-19 23:33 采纳率: 0%
浏览 1799

安卓listview item单击事件跳转新的activity,intent中的value问空

对listview item加监听,单击跳转新得activity报空指针错误,value值明明放在intent里了,还是空指针错误
mainavtivity:
public class MainActivity extends Activity {
private List listNews;
private ListView list;

Handler mHandler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        // TODO Auto-generated method stub
        switch (msg.what) {
        case GetXmlAndParse.PARSESUCCWSS:
            listNews =  (List) msg.obj;
            initData();
            break;
        }
        super.handleMessage(msg);
    }
};

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    list = (ListView) findViewById(R.id.list);
    GetXmlAndParse getXmlAndParse = new GetXmlAndParse(mHandler);
    getXmlAndParse.getXml();
    list.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
            // TODO Auto-generated method stub
            switch (parent.getId())
            {
            case R.id.list:
                expressItemClick(position);//position 代表你点的哪一个
                break;


        }
    }

        private void expressItemClick(int position) {
            // TODO Auto-generated method stub
            Intent intent = new Intent(MainActivity.this,NewsActivity.class);


          Map<String, String> item = (Map<String, String>) list.getAdapter().getItem(position);
           String essay = item.get("description");

            //添加到intent域中
            intent.putExtra("description",essay );
            startActivity(intent);

            finish();

        }});

}

/**
 * 将解析后的xml填充到ListView
 */
protected void initData() {
    // TODO Auto-generated method stub
    List items = new ArrayList();
    for (News news : (List<News>)listNews) {
        Map item = new HashMap();
        item.put("title", news.getTitle());
        item.put("description", news.getDescription());
        items.add(item);
    }
    SimpleAdapter adapter = new SimpleAdapter(this, items, R.layout.news_view,
            new String[] { "title" }, new int[] { R.id.textView1 });
    list.setAdapter(adapter);

}

}
newsactivity:
public class NewsActivity extends Activity {
private TextView myTextView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Intent intent = getIntent();
    String value = intent.getStringExtra("description");

    myTextView = (TextView) findViewById(R.id.textview2);
    // 
    myTextView.setText(value);
}

}
图片说明

  • 写回答

3条回答 默认 最新

  • 笨笨爱妞妞 2016-06-20 00:13
    关注

    NewsActivity的第20行是哪一行啊?

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘