在多个活动中使用arrayList元素
问题描述:
我有一个问题,从列表视图从同一选定位置的数组列表中获取一个问题,并将这两个值传递给nxt活动我的代码只传递列表视图中所选项目的值,但是当将ListAdaptername.get(位置);它dosent回元素的值这里是我的代码:在多个活动中使用arrayList元素
值发送到NXT的//一部分Activiti的
lv = getListView();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, names);
setListAdapter(adapter);
lv.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent, View view,
int position, long id)
{//getApplicationContext
//String bb=parent.getItemAtPosition(position).toString();
String name=names.get(position);
Intent i = new Intent(LastActivity.this, Details.class);
String des=desc.get(position).toString();
i.putExtra("Name",name);
i.putExtra("desc",des);
// starting new activity
startActivity(i);
//LastActivity.this
}
});
}
//这里的wher我定义列表,并调用值:
ListView lv;
static String UName="OName";
static String UniUrl="Odesc";
public String val;
static List<String> desc;
static ArrayList<String> names;
URL url;
XmlPullParserFactory factory;
XmlPullParser xpp;
boolean insideItem;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.main);
lv=(ListView) findViewById(R.id.list1);
links=new ArrayList<String>();
names=new ArrayList<String>();
try{
url=new URL("http://api.androidhive.info/pizza/?format=xml");
factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(false);
xpp = factory.newPullParser();
xpp.setInput(getInputStream(url), "UTF_8");
insideItem = false;
// Returns the type of current event: START_TAG, END_TAG, etc..
int eventType = xpp.getEventType();
int x=0;
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_TAG) {
if (xpp.getName().equalsIgnoreCase("item")) {
insideItem = true;
} else if (xpp.getName().equalsIgnoreCase(OName)) {
if (insideItem)
names.add(xpp.nextText()); //extract the headline
} else if (xpp.getName().equalsIgnoreCase(Odesc)) {
if (insideItem)
desc.add(xpp.nextText()); //extract the link of article
}
}else if(eventType==XmlPullParser.END_TAG && xpp.getName().equalsIgnoreCase("item")){
insideItem=false;
}
eventType = xpp.next(); //move to next element
}
}catch (MalformedURLException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}catch (Exception e)
{
e.printStackTrace();
}
答
你没有看到永远让你的代码的第二块上的意向,请尝试使用这样的:
String names = getIntent().getStringExtra("Name");
如果这不起作用,也许试试编码你的inital i.putExtra来仔细检查数据是否被发送通过不是空的。
i.putExtra("Name","Test Name");
希望它可以帮助
+0
将好像它发送空:(我尝试了一个测试名称,但在第二个activity.Thanx无尽:)剂量显示在列表视图) – loleana 2012-07-26 07:34:58
看来你是一个有点困惑 - 在你到底提取中的OnCreate的意图值,这似乎是你的问题是什么,但对于活动详细信息的代码永远不会似乎触摸发起意图 – Elemental 2012-07-24 11:06:43
公共无效的onCreate(捆绑savedInstanceState){ \t \t // TODO自动生成方法存根 \t \t super.onCreate(savedInstanceState); \t \t setContentView(R.layout.details); \t \t \t \t tv =(TextView)findViewById(R.id.text); \t \t url =(TextView)findViewById(R.id.link); \t \t Intent intent = getIntent(); \t \t \t //接收数据 \t字符串名称= intent.getStringExtra( “名称”); \t String path = intent.getStringExtra(“desc”); \t \t //Log.e(“Second Screen”,name +“。”); \t tv.setText(name); \t url.setText(path); \t} – loleana 2012-07-24 11:10:40
这是详细活动@Elemental上面的评论 – loleana 2012-07-24 11:12:05