Android:在TextView中设置文本

时间:2014-06-04 08:46:16

标签: android textview

大家好我在textview中设置文本时遇到了一些问题,所以我将在这里解释一下这种情况。首先,我正在尝试创建自己的自定义Toast通知。一切都很好,但我想根据if条件更改textview中的文本。但是当我尝试这样做时,我得到一个空指针异常。这是我的代码:

img.setOnClickListener(new OnClickListener() 
     {          
        @Override
        public void onClick(View v) 
        {               
             LayoutInflater inflater = getLayoutInflater();
                View view = inflater.inflate(R.layout.cust_toast_layout,(ViewGroup)findViewById(R.id.ToastrelativeLayout));

                //textViewCircleDescribtion = (TextView)findViewById(R.id.textViewCircleDescribtion);

                Toast toast = new Toast(MainWindow.this);
                toast.setView(view);
                toast.setDuration(10000);                   
                toast.show();

              /*  try 
                {
                    if(Week == 1)
                        //textViewCircleDescribtion.setText(getResources().getString(R.string.circle_describ1));
                    else
                        //textViewCircleDescribtion.setText("azsdfasfasd");
                } catch (Exception e) 
                {
                    e.printStackTrace();
                }   */      
        }           
    });

我认为这个问题是因为textViewCircleDescribtion是在与setContentView(R.layout.activity_main_window)不同的布局中声明的;有没有办法解决这个问题?

3 个答案:

答案 0 :(得分:2)

您在视图中的TextView。你可以使用view.findViewById找到它,它查找具有给定id的子视图。如果此视图具有给定的ID,请返回此视图..

所以不要使用

textViewCircleDescribtion = (TextView)findViewById(R.id.textViewCircleDescribtion);

你应该使用

textViewCircleDescribtion = (TextView)view.findViewById(R.id.textViewCircleDescribtion);

答案 1 :(得分:0)

在虚增的TextView

中找到你的View
LayoutInflater inflater = getLayoutInflater();
                View view = inflater.inflate(R.layout.cust_toast_layout,(ViewGroup)findViewById(R.id.ToastrelativeLayout));
textViewCircleDescribtion = (TextView)view.findViewById(R.id.textViewCircleDescribtion);

答案 2 :(得分:0)

textview的膨胀是错误的。像这样填充它

textViewCircleDescribtion = (TextView)view.findViewById(R.id.textViewCircleDescribtion);