我是Android编程新手。对于我的Android应用程序,我想要做的是当用户点击listView中的项目时,会打开一个带有项目文本标题的新页面。这是我的代码:
protected void onListItemClick(ListView l, View v, int position, long id) {
String item = (String) getListAdapter().getItem(position);
TextView tv = (TextView)findViewById(R.id.TextView1);
tv.setText("Some new text");
Intent intent = new Intent(TypeListActivity.this, List_vaccine_info.class );
startActivity(intent);
//Toast.makeText(this, item + " selected", Toast.LENGTH_LONG).show();
}
但它不会运行。当我删除:
TextView tv = (TextView)findViewById(R.id.TextView1);
tv.setText("Some new text");
它有效,但这不是我想要的,我想根据用户点击的listView中的项目文本更改标题 任何帮助将不胜感激
答案 0 :(得分:0)
如果要对textview中的每个项目使用一些默认布局(以及默认的ArrayAdapter),则需要更改ArrayAdapter正在使用的ArrayList中的字符串。
如果您使用的是自定义布局,则仍需要执行上述操作并让getView()方法获取该项目中的TextView并设置其文本。
答案 1 :(得分:0)
您必须实现onItemClick才能获得点击的项目:
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
String text = ArrayList.get[arg2]; //where arg2 is position where you had click and ArrayList is List with which you have initialized your Listview
Intent i=new Intent(this,NextActivity.class);
i.putExtra("Text",text);
startActivity(i);
}
在下一个屏幕中,在onCreate()方法中使用此代码:
Bundle extras = getIntent().getExtras();
String title=extras.getString("Text");
setTitle(title);