如何在单击listview项目后更改textview中的文本?

时间:2013-11-13 02:09:38

标签: android android-listview textview

我是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中的项目文本更改标题 任何帮助将不胜感激

2 个答案:

答案 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);