如何从一个ListView项目获得的TextView值? [英] How to get TextView values from a listView Items?

查看:277
本文介绍了如何从一个ListView项目获得的TextView值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试着从不同的类似的问题得到的答案在这里,但没有得到任何答复。
其实我想从任何列表视图项(S)的多个textViews值。
这里是code结果
    ListView控件的ListView = getListView();

  listView.setOnItemClickListener(新OnItemClickListener(){
    @覆盖
    公共无效onItemClick(适配器视图<>母公司,观景,INT现在的位置,长的id){
        字符串的ContactID =((的TextView)findViewById(R.id.cid))的getText()的toString()。
        字符串CONTACTNAME =((的TextView)findViewById(R.id.contactName))的getText()的toString()。
        字符串contactNo =((的TextView)findViewById(R.id.contactNo))的getText()的toString()。
        意图I =新意图(getApplicationContext(),editContactActivity.class);
        i.putExtra(TAG_ID,使用ContactID);
        i.putExtra(TAG_NAME名称,联系人姓名);
        i.putExtra(TAG_CONTACT_NO,contactNo);
        startActivityForResult(I,100);
    }
});

什么结果我得到,我在列表视图中获得第一项(位置)textviews价值,无论是我正在点击任何项目,但我列表视图中获得第一项(位置)textviews值,
这里是code我是多么让其他活性值

 保护无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.edit_contact);    btnSave =(按钮)findViewById(R.id.btnSaveContact);
    btnDelete =(按钮)findViewById(R.id.btnDeleteContact);    意向I = getIntent();
    CID = i.getStringExtra(TAG_CONTACT_ID);
    cNameTxt = i.getStringExtra(TAG_CONTACT_NAME);
    cNumberTxt = i.getStringExtra(TAG_CONTACT_NUMBER);    联系人姓名//Log.d(\"Value,cNameTxt);
    联系人姓名//Log.d(\"Value,cNumberTxt);
    TextView的contactIdTxtView =(的TextView)findViewById(R.id.cid);
    CNAME =(EditText上)findViewById(R.id.editCName);
    cNumber =(EditText上)findViewById(R.id.editCNumber);
    cName.setText(CID);
    cNumber.setText(cNumberTxt);}

我会很感激,如果有人将详细帮助
谢谢
看待
阿克毛拉苏尔


解决方案

  

我得到的第一个项目在列表视图textviews值(位置)


每次使用 findViewById()告诉它该行一看的只有的:

 (的TextView)view.findViewById(R.id.cid)
//添加这个^^^^^


总之:

  @覆盖
公共无效onItemClick(适配器视图<>母公司,观景,INT现在的位置,长的id){
    字符串的ContactID =((的TextView)view.findViewById(R.id.cid))的getText()的toString()。
    //再次使用视图^^^^^
    //重复此联系人姓名和contactNo

I tried to get answer from different similar questions here but didn't get any answer. Actually I am trying to get values from multiple textViews of any listview item(s). Here is the code
ListView listView = getListView();

listView.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int postion, long id) {               
        String contactId = ((TextView) findViewById(R.id.cid)).getText().toString();
        String contactName= ((TextView) findViewById(R.id.contactName)).getText().toString();
        String contactNo= ((TextView) findViewById(R.id.contactNo)).getText().toString();
        Intent i = new Intent(getApplicationContext(), editContactActivity.class);
        i.putExtra(TAG_ID, contactId );
        i.putExtra(TAG_NAME, contactName);
        i.putExtra(TAG_CONTACT_NO, contactNo);
        startActivityForResult(i, 100);     
    }   
}); 

What result i am getting, I am getting textviews value of first item(Position) in listview, either i am clicking any item but i am getting textviews value of first item(Position) in listview, Here is the code how i am getting values on other activity

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.edit_contact);

    btnSave = (Button) findViewById(R.id.btnSaveContact);
    btnDelete = (Button) findViewById(R.id.btnDeleteContact);

    Intent i = getIntent();
    cId = i.getStringExtra(TAG_CONTACT_ID);
    cNameTxt = i.getStringExtra(TAG_CONTACT_NAME);
    cNumberTxt = i.getStringExtra(TAG_CONTACT_NUMBER);

    //Log.d("Value of contact name", cNameTxt);
    //Log.d("Value of contact name", cNumberTxt);


    TextView contactIdTxtView = (TextView) findViewById(R.id.cid);
    cName = (EditText) findViewById(R.id.editCName);
    cNumber = (EditText) findViewById(R.id.editCNumber);


    cName.setText(cId);
    cNumber.setText(cNumberTxt);

}

I will be very thankful if anyone will help in detail Thanks Regard Akmal Rasool

解决方案

I am getting textviews value of first item(Position) in listview

Every time you use findViewById() tell it to look in this row only:

(TextView) view.findViewById(R.id.cid)
//Add this ^^^^^  


All together:

@Override
public void onItemClick(AdapterView<?> parent, View view, int postion, long id) {
    String contactId = ((TextView) view.findViewById(R.id.cid)).getText().toString();
    //             Again use view  ^^^^^
    // Repeat this for contactName and contactNo

这篇关于如何从一个ListView项目获得的TextView值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆