Java 从非活动类更改TextView值

Java 从非活动类更改TextView值,java,android,android-layout,textview,android-inflate,Java,Android,Android Layout,Textview,Android Inflate,我试图通过扩展TextView所在的布局,将非活动类中的一个新值设置到TextView,但是我仍然没有成功,尽管我能够获取TV的当前值。代码如下: LayoutInflater mInflater = (LayoutInflater) mContext.getSystemService(mContext.LAYOUT_INFLATER_SERVICE); View view = mInflater.inflate(R.layout.target_details, null); TextView

我试图通过扩展TextView所在的布局,将非活动类中的一个新值设置到TextView,但是我仍然没有成功,尽管我能够获取TV的当前值。代码如下:

LayoutInflater mInflater = (LayoutInflater) mContext.getSystemService(mContext.LAYOUT_INFLATER_SERVICE);
View view = mInflater.inflate(R.layout.target_details, null);

TextView val = (TextView) view.findViewById(R.id.val);
不确定我是否做得很好

更新: 我使用了Kay的答案,并在下面添加了代码。它正在工作

((Activity)mContext).runOnUiThread(new Runnable(){
        @Override
        public void run(){
            //settext here
        }
    });

在适配器/非活动类中创建新对象不是一个好主意。活动中必须已有一个TextView类的对象

如果需要更改其他类中的文本,可以在活动中使TextView为静态,并从适配器访问它,如

活动:-

 Static TextView val = (TextView) view.findViewById(R.id.val);
适配器:-

   MyActivity.val.setText("some txt");

在适配器/非活动类中创建新对象不是一个好主意。活动中必须已有一个TextView类的对象

如果需要更改其他类中的文本,可以在活动中使TextView为静态,并从适配器访问它,如

活动:-

 Static TextView val = (TextView) view.findViewById(R.id.val);
适配器:-

   MyActivity.val.setText("some txt");

您想从非活动类为TextView设置文本

您可以通过两种方式完成此操作。
1.在启动非活动类时传递活动,并在将文本设置为TextView时使用

public class YourClass(){
     Activity a;
     public YourClass(Activity activity){
           this.a=activity;
     }
}
2.您可以将活动传递给将设置文本的方法

public static void displayText(Activity activity, int id, String text) {
    TextView tv = (TextView) activity.findViewById(id);
    tv.setText(text);
}

例如:
displayText(YourActivity.this,R.id.your_text_view,“要显示的文本”)

您想从非活动类为TextView设置文本吗

您可以通过两种方式完成此操作。
1.在启动非活动类时传递活动,并在将文本设置为TextView时使用

public class YourClass(){
     Activity a;
     public YourClass(Activity activity){
           this.a=activity;
     }
}
2.您可以将活动传递给将设置文本的方法

public static void displayText(Activity activity, int id, String text) {
    TextView tv = (TextView) activity.findViewById(id);
    tv.setText(text);
}

例如:
displayText(YourActivity.this,R.id.your_text_view,“要显示的文本”)

活动与您的课程如何相关。活动与您的课程如何相关。不起作用。虽然我能得到它。但是setText不起作用,不起作用。虽然我能得到它。但是setText不起作用。