开发者

How to retrieve TextView value when we Touch on that and The TextView is added into LinearLayout?

开发者 https://www.devze.com 2023-03-19 22:26 出处:网络
Here is my code for how i make adding Dynamically TextView in to Table Layout using LinearLayout for it.

Here is my code for how i make adding Dynamically TextView in to Table Layout using LinearLayout for it.

table_personalData.removeAllViews();
int i=0;
for(String header : headerDetail){
TextView label=new TextView(this);
TextView value=new TextView(this);
label.setTextAppearance(this, R.style.TextBase);
value.setTextAppearance(this, R.style.TextBase);
label.setText(String.format("%s:", header));
value.setText(String.format("%s", lead.data[i]==null?"":lead.data[i]));
i++;
LinearLayout rowview=new LinearLayout(this);
rowview.setOrientation(0);
rowview.setLayoutParams(new  LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
                rowview.addView(label);
                rowview.addView(value);
                table_personalData.addView(rowview);

}

By Above code i get my table layout with dynamically added textview in that . here i use Liner Layout for added two textview in One Row .

headerDetail is a ArrayList<String> headerDetail
lead.data[i] i used this to get my values for particular label.

All this work fine for me now what my problem is Now i want to do one thing that is when we click one of the TextView of my LinearLayout i want that TextView in dynamically. So finally my question is about to get retrieve textview value when we touch or click any textview which is in Linearlayout and LinearLayout is in TableLayout.

Anyone have idea what should i have to do with this . i also try something like below but i don't get i can i get TextView Value from below code.

table_personalData.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            for(int i=0;i<table_personalData.getChildCount();i++){


                //CharS开发者_C百科equence desc=table_personalData.getChildAt(i).getContentDescription();

                //Log.v("log_tag", "the values are"+ desc);

            }

        }
    });

EDIT:

if you want the Value of TextView when we Touch on that There is Two way that i write Below :

  value.setOnClickListener(new OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            TextView txt;
                            txt=(TextView)findViewById(v.getId());
                            String tempEmail;
                            tempEmail=txt.getText().toString().trim();
                            String aEmailList[]={tempEmail};
                            pattern=Pattern.compile(EMAIL_PATTERN);

                            if(validate(tempEmail)){
                                Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
                                emailIntent.setType("plain/text");
                                emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,aEmailList ); 
                                startActivity(emailIntent);
                            }else{
                                pattern=Pattern.compile(PHONE_No_PATTERN);
                                if(validate(tempEmail)){
                                    tempEmail=tempEmail.replaceAll("[^\\d]", "");
                                    String uri="tel:" +tempEmail;
                                    Intent mIntent=new Intent(Intent.ACTION_CALL);
                                    mIntent.setData(Uri.parse(uri));
                                    startActivity(mIntent);
                                }else{
                                    //Toast.makeText(LeadDetailActivity.this, "Please Touch on Email or Mo:Number", Toast.LENGTH_SHORT).show();
                                }
                            }
                        }
                    });


1)Create how many text view u want,but set id for each one,and aslo set same click listener for all

TextView value1=new TextView(this);
value1.setid(1);
value1.setOnClickListener(clickListener);

TextView value2=new TextView(this);
value1.setid(2);
value2.setOnClickListener(clickListener);

TextView value3=new TextView(this); value3.setid(3);
value3.setOnClickListener(clickListener);

2)second create one onclick listener,inside this listener u will get all cliks. so based on view id u can dynamically do anything

OnClickListener clickListener=new OnClickListener() {
public void onClick(View v) {
int id=v.getId();
}
};

0

精彩评论

暂无评论...
验证码 换一张
取 消