2014-03-12 56 views
-2

我正在一個大的用戶界面上顯示用戶表單的詳細信息。我希望如果用戶點擊包含電話號碼TextViewLinearLayout。我想撥打電話intent。我已將onClick()屬性添加到所有LinearLayout s。但只有第一個工作,而其他人沒有任何解釋將不勝感激。我的第一個LinearLayout onclick工作,而其他人不工作。爲什麼?

<RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:paddingTop="10dp" > 

       <ImageButton 
        android:id="@+id/imageButtonMSG1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:background="#f8f3c2" 
        android:layout_alignParentRight="true" 
        android:layout_marginRight="20dp" 
        android:src="@drawable/msg" /> 

       <LinearLayout 
        android:layout_width="wrap_content" 
        android:id="@+id/ll1" 
        android:layout_height="match_parent" 
        android:clickable="true" 
        android:layout_alignParentLeft="true" 
        android:layout_toLeftOf="@+id/imageButtonMSGMobile" 
        android:orientation="vertical" > 

        <TextView 
         android:id="@+id/textViewMobile1" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_marginLeft="20dp" 
         android:text="Small Text" 
         android:textColor="#790202" 
         android:textAppearance="?android:attr/textAppearanceMedium" /> 

        <TextView 
         android:id="@+id/textViewCperson1" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:paddingLeft="20dp" 
         android:text="Cperson1" 
         android:textAppearance="?android:attr/textAppearanceSmall" 
         android:textColor="#E14343" /> 

       </LinearLayout> 

       <TextView 
        android:id="@+id/textView201" 
        android:layout_width="0.1dp" 
        android:layout_height="40dp" 
        android:background="#8E6364" 
        android:layout_alignParentRight="true" 
        android:layout_marginRight="60dp" 
        android:textAppearance="?android:attr/textAppearanceSmall" /> 

      </RelativeLayout> 
      <RelativeLayout 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:paddingTop="2dp" > 

       <TextView 
        android:id="@+id/textView51" 
        android:layout_width="fill_parent" 
        android:layout_height="0.2dp" 
        android:background="#8E6364" 
        android:layout_marginTop="5dp" 
        android:layout_marginLeft="15dp" 
        android:layout_marginRight="15dp" 
        android:textAppearance="?android:attr/textAppearanceSmall" /> 

       </RelativeLayout> 
      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:paddingTop="10dp" > 

       <LinearLayout 
        android:layout_width="wrap_content" 
        android:layout_height="match_parent" 
        android:id="@+id/ll2" 
        android:layout_alignParentLeft="true" 
        android:clickable="true" 
        android:layout_toLeftOf="@+id/imageButtonMSGHome" 
        android:orientation="vertical" > 

       <TextView 
        android:id="@+id/textViewMobile2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="20dp" 
        android:text="Small Text" 
        android:duplicateParentState="true" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:textColor="#790202" /> 

       <TextView 
        android:id="@+id/textViewCperson2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:paddingLeft="20dp" 
        android:text="Cperson2" 
        android:duplicateParentState="true" 
        android:textAppearance="?android:attr/textAppearanceSmall" 
        android:textColor="#E14343" /> 

       </LinearLayout> 
       <TextView 
        android:id="@+id/textView202" 
        android:layout_width="0.2dp" 
        android:layout_height="40dp" 
        android:background="#8E6364" 
        android:layout_alignParentRight="true" 
        android:layout_marginRight="60dp" 
        android:textAppearance="?android:attr/textAppearanceSmall" /> 

       <ImageButton 
        android:id="@+id/imageButtonMSG2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:background="#f8f3c2" 
        android:layout_alignParentRight="true" 
        android:layout_marginRight="20dp" 
        android:src="@drawable/msg" /> 
      </RelativeLayout> 

LinearLayout ID爲LL1作品onClick()事件,而[112和休息等不起作用。我不知道爲什麼會發生這種情況。

+3

發佈您的代碼。 –

+1

發佈您的代碼.. – Shriram

回答

0

確保爲您做以下每個佈局:

LinearLayout ll1 = (LinearLayout)findViewById(R.id.ll1); 
ll1.setOnClickListener(new OnClickListener() {  
    @Override 
    public void onClick(View v) { 
     //Do stuff here  
    } 
    }); 
1

這可能是更容易簡單地聲明在XML的onClick財產 - 這將避免你叫setOnClickListener每個視圖。這是可以做到像這樣:

<LinearLayout 
    ... 
    android:onClick="doSomething" > 

然後,在Java代碼中,您將需要一個名爲doSomething的公共方法接受與View類型的參數:

public void doSomething(View view) { 
// React to click here 
} 

注意,你不必如果您不需要/需要,可以使用view參數進行任何操作。

+0

感謝您的幫助 – donison24x7

相關問題