java - 如何获取OnClickListener中线性布局中包含的textview的名称?

标签 java android android-linearlayout onclicklistener

我正在将 TextView 动态添加到线性布局中,并希望获取在线性布局的OnClickListener中单击的 TextView 的名称。这是代码:

m_lvSideIndex = (LinearLayout)ShowTheContacts1.this.findViewById(R.id.sideIndex);
TextView l_tempText = null;

for(int l_a = 0;l_a < m_arrayOfAlphabets.length;l_a++)
{
    l_tempText = new TextView(ShowTheContacts1.this);
    l_tempText.setGravity(Gravity.CENTER);
    l_tempText.setTextSize(15);
    l_tempText.setTextColor(getResources().getColor(R.color.black));
    LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1);
    l_tempText.setLayoutParams(params);;
    l_tempText.setText(m_arrayOfAlphabets[l_a]);
    m_lvSideIndex.addView(l_tempText);
    m_lvSideIndex.setTag(l_a);
}

m_lvSideIndex.setOnClickListener(new OnClickListener() 
{               
    @Override
    public void onClick(View v) 
    {
        String l_itemSelected = (String)v.toString();  //Want to get the name of textview selected here
});

请帮助我。提前致谢。

最佳答案

您可以在 getTag() 的帮助下使用它

首先 setTag() 值,即 TextName

m_lvSideIndex.setTag(m_arrayOfAlphabets[l_a]);
m_lvSideIndex.setTag(l_a, R.id.sideIndex);

并通过getTag()获取值

m_lvSideIndex.setOnClickListener(new OnClickListener() 
{               
    @Override
    public void onClick(View v) 
    {
        String l_itemSelected = (String)v.getTag(); 
        Integer l_position = (Integer)v.getTag(R.id.sideIndex);   
});

关于java - 如何获取OnClickListener中线性布局中包含的textview的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14054197/

相关文章:

java - 如何让客户端监听服务端发过来的数据

java - 文件大小增加但文本未写入

Android:获取具有其值(value)的sharedpreferences的关键

android - 对齐 Liniar 布局子项

android - 继承 LinearLayout

android - 使用引用而不是 layout-land 设置 LinearLayout 方向(仅限 xml)

java - 从 org.eclipse.xtext.common.types 获取 "new"依赖项

java - 更改Java中的标准输出

android - 如何在android中使用 picasso 库将背景图像设置为 Activity 布局

android - 如何自定义分享 Intent ?