为了账号安全,请及时绑定邮箱和手机立即绑定

为什么交换一下setContentView(R.layout.item);和setContentView(R.layout.main); 变可以解决无响应问题?

package com.example.listview;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;

public class MainActivity extends Activity {

	private ListView listView;
	private ArrayAdapter<String> arrayAdapter;
	private SimpleAdapter simpleAdapter;
	private List<Map<String, Object>> dataList;
	private TextView text;
	private ImageView pic;

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


		listView = (ListView) findViewById(R.id.listView);
		text =(TextView) findViewById(R.id.text);
		pic =(ImageView) findViewById(R.id.pic);
		dataList = new ArrayList<Map<String, Object>>();
		getData();
		
		
		String[] arr_dataStrings = { "ash1", "ash2", "ash3", "ash4" };
		arrayAdapter = new ArrayAdapter<String>(this,
				android.R.layout.simple_list_item_1, arr_dataStrings);
		simpleAdapter = new SimpleAdapter(this, dataList, R.layout.item,
				new String[] { "pic", "text" },
				new int[] { R.id.pic, R.id.text });
		
		//listView.setAdapter(arrayAdapter);
		listView.setAdapter(simpleAdapter);
	}

	private List<Map<String, Object>> getData() {
		for (int i = 0; i < 20; i++) {
			//dataList = new ArrayList<Map<String, Object>>();
			Map<String, Object> map = new HashMap<String, Object>();
			map.put("pic", R.drawable.ic_launcher);
			map.put("txt", "ash" + i);
			dataList.add(map);
		}
		return dataList;

	}
}


正在回答

2 回答

加载那么多的布局干嘛,一个活动一个布局就够了。。。这里的是加载main布局

不需要声明

0 回复 有任何疑惑可以回复我~
#1

ASH975 提问者

谢谢!
2016-04-08 回复 有任何疑惑可以回复我~
#2

3114002661 回复 ASH975 提问者

不客气。
2016-04-08 回复 有任何疑惑可以回复我~
#3

ASH975 提问者

非常感谢!
2016-04-09 回复 有任何疑惑可以回复我~
        setContentView(R.layout.item);
        setContentView(R.layout.main);

之前是 main 在 item 前面,怎么fix都无响应 ,空指针错误

然后发现运行到main就出错,所以就改了顺序 结果通了 _(:з」∠)_

请问为什么啊 ,

还有 

	private TextView text;
	private ImageView pic;
	
	text = (TextView) findViewById(R.id.text);
		pic = (ImageView) findViewById(R.id.pic);

需要声明吗?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第二门课(第1季)
  • 参与学习       111172    人
  • 解答问题       1457    个

本课程由浅入深地带您学会Android的常用控件的开发和使用

进入课程

为什么交换一下setContentView(R.layout.item);和setContentView(R.layout.main); 变可以解决无响应问题?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信