2011-01-12 71 views
2

您好我有一個列表視圖與textview每一行與文本鏈接與定義的模式,我使用這個小代碼,使鏈接的項目可以點擊並調用我的應用程序中的另一個活動。但在此之前,我使用imaview列表上方,以使導航出現在列表視圖,當我加入的只是linkfy點擊的工作列表視圖中的onClick方法的Linkify的可點擊的方法塊列表視圖點擊方法

textView.setMovementMethod(LinkMovementMethod.getInstance()); 
    Pattern Matcher = Pattern.compile("pattern here"); 
    String Url = "sth://"; 
    Linkify.addLinks(entrySpan, Matcher, Url); 

相反,但我必須使他們的工作機器人

這裏是我用於listview點擊方法的代碼,但這似乎從來沒有發射後設置linkify設置movemen t,每次點擊後我都會在Vısıble和Gone之間來回切換。

getListView().setOnItemClickListener(new OnItemClickListener() { 

      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
        long arg3) { 
       // TODO Auto-generated method stub 
       if(Entry.totalPageNumber>1){ 
        //if no more than one page exist no need to navigate 

        if(show == false){ 
         findViewById(R.id.back).setVisibility(View.VISIBLE); 
         findViewById(R.id.forward).setVisibility(View.VISIBLE); 
         findViewById(R.id.start).setVisibility(View.VISIBLE); 
         findViewById(R.id.last).setVisibility(View.VISIBLE); 
         show=true; 
        }else if(show==true){ 
         findViewById(R.id.back).setVisibility(View.GONE); 
         findViewById(R.id.forward).setVisibility(View.GONE); 
         findViewById(R.id.start).setVisibility(View.GONE); 
         findViewById(R.id.last).setVisibility(View.GONE); 
         show=false; 
        } 
       } 
      } 
     }); 

如何解決這個問題?

回答

0

我解決它,只是移動的onClickListener實施成畫的TextView和直接申請onClickListener到TextView的,最後他們都愉快地工作

TextView textView = (TextView) mView.findViewById(R.id.entryRowTextView); 


textView.setOnClickListener(new OnClickListener() { 

         public void onClick(View v) { 
          // TODO Auto-generated method stub 
          // TODO Auto-generated method stub 
          if(Entry.totalPageNumber>1){ 
           //if no more than one page exist no need to navigate 
           Log.d(EKSI, "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); 
           if(show == false){ 
            findViewById(R.id.back).setVisibility(View.VISIBLE); 
            findViewById(R.id.forward).setVisibility(View.VISIBLE); 
            findViewById(R.id.start).setVisibility(View.VISIBLE); 
            findViewById(R.id.last).setVisibility(View.VISIBLE); 
            show=true; 
           }else if(show==true){ 
            findViewById(R.id.back).setVisibility(View.GONE); 
            findViewById(R.id.forward).setVisibility(View.GONE); 
            findViewById(R.id.start).setVisibility(View.GONE); 
            findViewById(R.id.last).setVisibility(View.GONE); 
            show=false; 
           } 
          } 
         } 
        }); 
1

據我知道,如果你添加一個按鈕,我getView方法在列表視圖項目中,則不能再選擇該列表項目。然後,您可以使用更復雜的技術來創建自定義適配器,並使用getView方法來控制每個按鈕的setTag和getTag選擇。這對初學者來說可能並不容易,但需要學習。

下面是一個簡單的例子入手:http://androidforbeginners.blogspot.com/2010/03/clicking-buttons-in-listview-row.html

還擁有列表中的問題被回收。這意味着如果屏幕上有10行,則第11行將顯示爲在滾動和第21行時被選中或更改,等等......這裏getView必須通過使用 明確控制每個listitem的佈局if(condition確定佈局){... code ...} else {... code ...}