2013-03-22 62 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