在另一个类中使用Activity View

时间:2016-07-13 10:39:37

标签: java android

这是我的活动

public class Conversation extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_conversation);
     }
}

我们看到它使用此布局activity_conversation

如何将此布局或View发送给类进行编程,如此

myclass m  = new myclass(View);

为什么我要这样做,因为我有另一个类,其布局与activity_conversation相同。所以我想重复使用它,如:myclass m = new mycalss(inflate layout);

如何获取视图并传递给另一个类来对其进行充气。 这是重用代码的正确方法吗?

2 个答案:

答案 0 :(得分:1)

试试这样:

myclass m  = new myclass(View);

public myclass{
   public myclass(View yourView){
      //the variable yourView is the view passed from another class
      //you can use it 
      View myView = yourView;

   }
}

答案 1 :(得分:1)

  

我如何将此布局或View发送给类进行编程   此

在致电getDecorView()后使用setContentView执行此操作:

View content_layout = (View)findViewById(android.R.id.content);
myclass m  = new myclass(content_layout);

OR

ViewGroup view=(ViewGroup)getWindow().getDecorView();
LinearLayout content_layout = (LinearLayout)view.getChildAt(0);
myclass m  = new myclass(content_layout);