Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java TextView setText来自另一个类_Java_Android - Fatal编程技术网

Java TextView setText来自另一个类

Java TextView setText来自另一个类,java,android,Java,Android,我的问题是我有一个有两个选项卡的tabhost。 第一个是列表视图,第二个只有两个文本视图 我想要的是,当我在选项卡1的listview中单击一个项目时,数组位置id(int)应该发送到选项卡/类2,其中有一个数组,它通过发送的位置id获取文本 选项卡的切换已经完成,但每次尝试发送position-id时都失败 我是这样发送的: 表一: //This function is called when i click a listitem public void setDetails(String

我的问题是我有一个有两个选项卡的tabhost。 第一个是列表视图,第二个只有两个文本视图

我想要的是,当我在选项卡1的listview中单击一个项目时,数组位置id(int)应该发送到选项卡/类2,其中有一个数组,它通过发送的位置id获取文本

选项卡的切换已经完成,但每次尝试发送position-id时都失败

我是这样发送的:

表一:

//This function is called when i click a listitem
public void setDetails(String Text, long arr_id){
        Detail detail = new Detail();
        detail.setDetail(); // right now i don't send the parameters because it wont even work with or without it.
    }
表二:

TextView descr;
TextView title;


public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.detail);

    descr = (TextView)findViewById(R.id.desc);
    title = (TextView)findViewById(R.id.title);

}

public void setDetailText(String Text){
    descr.setText(Text);
}
public void setDetailTitle(String Text){
    title.setText(Text);
}

public void setDetail(){
    this.setDetailTitle("example text");
    this.setDetailText("example text2");
}
我想在切换到第二个选项卡之前设置第二个选项卡上的文本。 如果我在同一个选项卡/类中使用SetDetail()和setDetailTitle(),但在另一个选项卡/类中不使用,则此方法有效


我已经用谷歌搜索了我的屁股,请帮助我

我在代码中使用TabActivity和内部activity中的getParent()或getActivity()方法来完成这项工作,因为如果我们使用TabActivity(ActivityGroup类的子类),我们可以使用ActivityManager获取“TextActivity”并获取activity实例,因此,这里我们可以调用setDetail()方法,这将在显示活动之前执行

在ListActivity中,执行以下操作

((MyTextActivity)((MyTabActivity)getParent()).getLocalActivityManager().getActivity(ACTIVITY_ID)).setDetail();
仅当在TabActivity中启动childs活动时,此选项才有效:

intent = new Intent(ACTIVITY_ID).setClass(this, MyMapActivity.class);
        getLocalActivityManager().startActivity(ACTIVITY_ID, intent);

哇,你没想到这件事!非常感谢你!