0

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

4

2 回答 2

0

如果您为 textview 中的每个项目(和默认 ArrayAdapter)使用一些默认布局,则需要更改 ArrayAdapter 正在使用的 ArrayList 中的字符串。

如果您使用的是自定义布局,您仍然需要执行上述操作并让您的 getView() 方法获取该项目中的 TextView 并设置其文本。

于 2013-11-13T02:25:47.233 回答
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);

    }

在 Next Screen 中,在 onCreate() 方法中使用此代码:

      Bundle extras = getIntent().getExtras();
      String title=extras.getString("Text");
      setTitle(title);
于 2013-11-19T06:10:31.753 回答