如何在Android中获取ListView中的TextView?

如何在Android中获取ListView中的TextView?,android,listview,Android,Listview,我已经创建了一个列表视图,它在这个列表视图中有文本视图 idTextView是value\u text。我使用viewHolder.value\u text获得TextView,如下代码所示 public View getView(final int position, View view, ViewGroup parent) { // TODO Auto-generated method stub final ViewHolder viewHo

我已经创建了一个
列表视图
,它在这个
列表视图
中有
文本视图

id
TextView
value\u text
。我使用
viewHolder.value\u text
获得
TextView
,如下代码所示

public View getView(final int position, View view, ViewGroup parent) {
            // TODO Auto-generated method stub

            final ViewHolder viewHolder;
            Log.d(TAG, "getView");
            if(view == null){
                view = mInflator.inflate(R.layout.streamid_data, null);
                viewHolder = new ViewHolder();
                viewHolder.value_text = (TextView) view.findViewById(R.id.Value_text);
                viewHolder.value_text.setText("1");

            }else {
                viewHolder = (ViewHolder) view.getTag();
            }
            return view;
        }
我想使用
线程
并更改
viewHolder.value\u text
文本
。但是它似乎无法在
线程中获取
值\u text
runnable
getView方法
之外

final Runnable setList = new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            //change the text of value_text
        }
    };

如何在
getView方法
之外获取
TextView

使ViewHolder变量成为全局变量。然后您可以在线程中访问textview

     // Global in Adapter Class
     ViewHolder accessable_ViewHolder;


    public View getView(final int position, View view, ViewGroup parent) {
        // TODO Auto-generated method stub

        Log.d(TAG, "getView");
        if(view == null){
            view = mInflator.inflate(R.layout.streamid_data, null);
            ViewHolder viewHolder = new ViewHolder();
            viewHolder.value_text = (TextView) view.findViewById(R.id.Value_text);
            viewHolder.value_text.setText("1");

        }else {
            accessable_ViewHolder= (ViewHolder) view.getTag();
        }
        return view;
    }



 // Thread

 final Runnable setList = new Runnable() {

    @Override
    public void run() {
        // TODO Auto-generated method stub
        //change the text of value_text

        accessable_ViewHolder.value_text.setText("Value set from Thread");
    }
 };

您的runnable可能在
getView
方法之外,对吗?@Martin Implement
onItemClick
方法用于
ListView
或获取arraylist的数据。1。您可以将
TextView
变量声明为publuc;2.您可以使用
视图设置文本视图,请参见此处的答案:是,您可以访问文本视图。但这段代码毫无意义,因为右文本视图将随着下一个getView()而消失,其中
accessible\u ViewHolder
将被分配一个不同的实例。