2012-10-19 32 views
-2

我有兩個類,一個listview類與許多字符串和一個文本視圖的類.. 我想當我點擊一個字符串的ListView第二類開始和textView在它的setText到單擊的項目..Android獲取的東西點擊在列表視圖到setText

我想:

 @Override 
     protected void onListItemClick(android.widget.ListView l, View v, int position, long id) 
     { 
      super.onListItemClick(l, v, position, id); 
      String item = (String) getListAdapter().getItem(position); 
      Intent select = new Intent(LV.this, Main.class); 
      startActivity(select); 
     } 

,並在第二類的

S.setText(LV.item); 

S是TextView的

現在看來空..

+0

究竟什麼是第一個活動,什麼是第二個? – Renjith

+0

因此,您想在第一個活動中更改文字嗎?您不能更改不在當前活動中的textView的文本。 – Agata

回答

0

你並沒有在活動的一種方法的數據在另一個活動,除非你通過activites之間的數據。它們僅在本地可用於一個活動

使用putExtra可以將數據從一個活動發送到另一個活動。現在,在收到該值的第二個活動,並將其設置爲文本TextView的

這裏如

在第一個活動

Intent select = new Intent(LV.this, Main.class); 
select.putExtra("item", item) 
startActivity(select); 

在接下來的活動中,收到此

Bundle extras = getIntent().getExtras(); 
if (extras != null) { 
    String value = extras.getString("item"); 
} 

S.setText(value); 
+0

謝謝,接受:D –

+0

是的,但他們給了我-2 ..我不能,我需要15+代表 –

0

item只是一個局部變量onListItemClick(),你不能像你一樣嘗試靜態訪問它。使用Intent將數據發送到其他活動。

@Override 
protected void onListItemClick(android.widget.ListView l, View v, int position, long id) 
{ 
    super.onListItemClick(l, v, position, id); 
    String item = (String) getListAdapter().getItem(position); 
    Intent select = new Intent(LV.this, Main.class); 
    select.putExtra("itemClicked", item); 
    startActivity(select); 
} 

而在你的第二個活動,可能在onCreate()

Bundle extras = getIntent().getExtras(); 
S.setText(extras.getString("itemClicked"); 
0

要發送活動之間的數據使用:

@Override 
    protected void onListItemClick(android.widget.ListView l, View v, int position, long id) 
    { 
     super.onListItemClick(l, v, position, id); 
     String item = (String) getListAdapter().getItem(position); 
     Intent select = new Intent(LV.this, Main.class); 
     select.putExtra("item", item); 
     startActivity(select); 
    } 

而在另一活動中使用這個

String item = getIntent().getStringExtra("item"); 
+0

我更新了這個問題..請看看 –

0
MainActivity 

String listview_array[]={"01634 ABOHAR","080 Bangalore","011 Delhi","Dell Inspiron"}; 
lv.setAdapter(new ArrayAdapter<String> 
    (MainActivity.this, 
    android.R.layout.simple_list_item_1, listview_array)); 
    lv.setOnItemClickListener(new OnItemClickListener() 
    { 

     @Override 
     public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
       long arg3) { 
      for(int i=0;i<listview_array.length;i++) 
      { 
      if(arg2==i) 
      { 
       Intent t= new Intent("com.example.listviewsearch.detailview"); 
       t.putExtra("Extra", listview_array[arg2]); 
       startActivity(t); 
      } 
      } 

     } 

    }); 

的DetailView

TextView tv= (TextView) findViewById(R.id.tv1); 
    Bundle extras = getIntent().getExtras(); 
    System.out.println("Get Intent done"); 
    if(extras !=null) 
    { 
     tv.setText(extras.getString("Extra").toString()); 

    } 
相關問題