2013-03-22 64 views
4

我有一個膨脹的線性佈局,其中包含2個TextViews。點擊TextView裏面膨脹的線性佈局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_margin="5dp" 
android:orientation="vertical" > 

<TextView 
    android:id="@+id/tv_m" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/ll_borders" 
    android:tag="m" 
    android:text="m" /> 

<TextView 
    android:id="@+id/tv_q" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/ll_borders" 
    android:tag="q" 
    android:text="q" /> 
</LinearLayout> 

所有我想要的是,當這個線性佈局膨脹的話,我想在我點擊的唯一TEXTVIEW。例如,如果我點擊「tv_m」,那麼它只會返回tv_m的文本。
可能它很簡單,但我沒有辦法。所以我需要幫助。
謝謝

回答

5

充氣佈局得到TextView的對象如下

LinearLayout layout = inflater.inflate(<your layout name>, null); 
TextView textView1 = layout.findViewById(R.id.tv_m)); 
TextView textView2 = layout.findViewById(R.id.tv_q)); 
String selectedText; 
textView1.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
      selectedText = textView1.getText().toString(); 
    } 
}); 

同樣,你可以把監聽textView2也經過。 selectedText將是你想要的最後一個字符串。

+0

好的謝謝..讓我試試這個 – Noman 2013-03-22 06:16:18

+0

我犯了一個錯誤...我也設置了onClick監聽器到充氣的視圖,因爲它沒有得到它的textView的點擊。 反正我現在已經完成了......謝謝:) – Noman 2013-03-22 06:30:39

2

您需要設置點擊文本視圖的監聽器。然後,當點擊它時,它會調用代碼中的一個函數,將它傳遞給被觸摸的視圖。然後你可以調用getText。

+0

我已成立的onClick視圖上然後從該視圖我已獲得的TextView這樣的: TextView的M =(TextView的)inflatedView.findViewById(R。 id.tv_m); 現在我不得不onClick點那個「米」?? – Noman 2013-03-22 06:13:51

+0

我犯了一個錯誤...我也設置onClick監聽器的充氣視圖,因爲它沒有得到它的textView點擊..反正我現在已經做了...謝謝:) – Noman 2013-03-22 06:42:09

2

這裏是代碼只是檢查了這一點:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    LinearLayout lt = (LinearLayout) findViewById(R.id.linearLayout); 
    LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View view = inflater.inflate(your xml to be inflate, null, false); 
    lt.addView(view); 

    TextView tv_m = (TextView)view.findViewById(R.id.tv_m); 
    TextView tv_l = (TextView)view.findViewById(R.id.tv_l); 

    tv_m.setOnClickListener(new View.OnClickListener() { 
    @Override   
    public void onClick(View v) {  

     tv_m.getText(); // to get the value written on text view 
     }  }); 
} 
+0

我犯了一個錯誤...我也設置onClick監聽器的充氣視圖,因爲它沒有得到其中的textView的點擊。 反正我現在已經做了...謝謝:) – Noman 2013-03-22 06:29:33

+0

ohkk .. ......很棒:) – 2013-03-22 06:30:17