Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.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 访问已创建视图的同一实例_Java_Android_Eclipse_Instance - Fatal编程技术网

Java 访问已创建视图的同一实例

Java 访问已创建视图的同一实例,java,android,eclipse,instance,Java,Android,Eclipse,Instance,我在主android项目中的onCreate中创建了一个对象实例。我已经创建了一个菜单项,它位于菜单项之外,但我想访问同一个实例。我该怎么做?(我无法使实例成为全局实例,因为onCreate还没有被调用 public class My_Main extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); set

我在主android项目中的onCreate中创建了一个对象实例。我已经创建了一个菜单项,它位于菜单项之外,但我想访问同一个实例。我该怎么做?(我无法使实例成为全局实例,因为onCreate还没有被调用

public class My_Main extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my__main);
    final new_viewer pv = new new_viewer(this);
}
}

public void test()
{
//how can I get the same instance of pv here?
}
在此方面的任何帮助都将不胜感激


谢谢!

将您的
私有新查看器pv;
作为
我的主要活动的类级别变量,例如

public class My_Main extends Activity {
 private new_viewer pv = null;
 @Override
 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my__main);
    pv = new new_viewer(this);
 }


 public void test()
 {
 //Access pv here..
 }
}

另外,将您的
test()
函数放在My_主活动范围内。

只需在类(活动)级别声明它。这可能需要构造函数,因为新的\u查看器是最终的?原始代码中存在的问题比这多,
test()
My_Main
类之外…@AndroidKiller-不需要构造函数,你只需要初始化它。就像
new_viewer pv=null;
@user370305,是的,那么就可以了。+1@user370305谢谢。。我不知道pv仍然保持这个值。无论如何,我最终生成了一个单例(但我很可能会把它换成这个,因为它不那么令人困惑)谢谢!