点击

时间:2017-07-31 18:27:42

标签: android textview

我创建了4个文本视图,并在其中存储字符串。其中一个有链接的字符串,它是隐藏的。这些是由ListAdaptor添加到ListView。在运行时,它看起来像这样。

Activity

当我单击相邻的Textview时,我需要能够使用隐藏的Textview中的文本。我为要查看的Textview设置了onClick适配器。如何在隐藏的邻近Textview中获取文本?我尝试使用标签,但这个概念让我不知所措。

我的布局资源:list_item.xml(已裁剪):

<TextView
android:id="@+id/title"        
android:onClick="onClick"
android:tag="name"
/>

<TextView
android:id="@+id/hash"       
android:visibility="gone"
/>

<TextView
android:id="@+id/size"        
/>

<TextView
android:id="@+id/link"
android:tag="link"       
android:visibility="gone"
/>

活动布局:activity_main.xmlFull Code

<RelativeLayout>
    <ListView android:id="@+id/list"/>
</RelativeLayout>

Activity code的一部分:

public class MainActivity extends AppCompatActivity {

    public void onClick(View v) {
        String Msg = ((TextView) v).getText().toString();
//        TextView txtTitle = (TextView) v.getTag();
//        String Me = (String) v.getTag();

//      TextView txtlink = (TextView)v.getTag("link");
        String Me = txtlink.getText().toString();
                Toast.makeText(MainActivity.this, "CLICKED" + Msg + Me,
                Toast.LENGTH_LONG).show();
    }

当我点击带有id标题的TextView时,我需要获取带有id链接的TextView文本。

这就是我创建ListView的方式:

lv = (ListView) findViewById(R.id.list);
ListAdapter adapter = new SimpleAdapter(
    MainActivity.this, showList,
    R.layout.list_item, new String[]{"title", "url", "hash",
    "size"}, new int[]{R.id.title, R.id.link,R.id.hash, R.id.size});

lv.setAdapter(adapter);

完整代码: MainActivity

1 个答案:

答案 0 :(得分:1)

添加OnItemSelectedListener并从代码和xml文件中删除onClick方法。

lv.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(MainActivity.this, showList.get(position), Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
    });