2012-11-22 42 views
0

我在我的應用程序中使用自定義列表視圖。在我的行中我有(兩個圖像,剩下的textviews)。如何獲得選定行的列表視圖的小部件ID

當我點擊TextView的之一,我想設置另一個TextView的data.I寫了下面的代碼來做到這一點

 likes.setOnClickListener(new OnClickListener() { 


     public void onClick(View v) { 
//   if(likes.getText().toString().equals("Like")){ 
       TextView t=(TextView)v; 
       TextView likesnumber1 = (TextView) findViewById(R.id.likesnumber); 
//   TextView likesnumber = (TextView) convertView.findViewById(R.id.likesnumber); 
       int i= Integer.parseInt(likescount.get(position)); 

      if(like_or_ulike.get(position).equals("Like")){ 
       Log.e("inlike","like"); 
       like_or_ulike.set(position, "Unlike"); 
       t.setText(like_or_ulike.get(position)); 
       UrltoValue.getValuefromUrl("https://graph.facebook.com/"+objectid.get(position)+"/likes?access_token="+accesstoken+"&method="+"post"); 
//    listView.getAdapter().getItemAt(position); 
       j=i+1; 
       String s=Integer.toString(j); 
      likescount.set(position, s); 
      likesnumber1.setText(likescount.get(position)); 

      } 
      else{ 
       Log.e("unlike","unlike"); 
       like_or_ulike.set(position, "Like"); 
       t.setText(like_or_ulike.get(position)); 
       UrltoValue.getValuefromUrl("https://graph.facebook.com/"+objectid.get(position)+"/likes?access_token="+accesstoken+"&method="+"DELETE"); 

        j=i-1; 
       String s=Integer.toString(j); 
       likescount.set(position, s); 
       likesnumber1.setText(likescount.get(position)); 
      } 
     } 
    }); 

我怎樣才能得到特定行的另一TextView的ID當我點擊textview.Is有可能獲得該特定行的ID。

+0

是你想要在同一行的文本視圖?或不同? –

+0

我想要同樣的行的textview id,即likescount id,當我點擊時,因爲我想設置值。 – veerendra

回答

1

正如你想獲得在同一行中的textview,你可以做到以下幾點。

與被點擊獲得其父,然後使用你可以搜索你的TextView的parentview TextView的:

View parent = (View) textViewThatWasClicked.getParent(); 
     if (parent != null) { 
      TextView textViewThatYouWantToChange = parent.findViewById(R.id.textViewThatYouWantToChange); 
      textViewThatYouWantToChange.setText(...); 
     } 

你需要改變你尋找到你有該ID與id其他textview。如果你需要設置一個id,你可以在你使用的xml佈局文件中做到這一點。

我不能很好地遵循你的代碼來實際給你的代碼,但這應該足以讓你在正確的方向。

+0

非常感謝保羅,它爲我工作。 – veerendra

+0

我只是想知道,android facebook應用程序是如何更新instantclicks的likescount。在這裏我只是遞增和遞減values.Am我做對了嗎? – veerendra

+0

如果這是特別爲Facebook我推薦看看android facebook sdk https://developers.facebook.com/android/ –

0

如果你在listview中爲每一行定製了佈局,那麼你可以在你的自定義視圖中爲每個View提供id,然後爲你的listview設置setOnItemClickListener,你就可以將每行作爲一個視圖。 當你像查看視圖一樣訪問你的行時,你可以使用view.findViewById並通過它們的id從你的自定義視圖中獲取所有的視圖。

+0

但我想獲取行的viewids,而不是itemclick。我想在單擊rowview中的textview時獲取id。 – veerendra

+0

然後,在getView適配器中,您可以訪問所有視圖,並且可以在getView中設置onClickListener,並且在此上下文中您可以訪問所有其他視圖(順便說一句,在列表中使用ViewHolders)。 – dilix

相關問題