Use single xml layout for multiple activities with different datas

前端 未结 2 1725
轻奢々
轻奢々 2020-12-19 01:21

I know this is a very basic question, however as a newbie i cant get to work around it. So, I want to have multiple activities to use same the xml layout(consist for example

相关标签:
2条回答
  • 2020-12-19 01:53

    You can share the same layout file and the set the attributes for views in the onCreate(..) method of each activity.

    If you want a different URL to open for each image button you could set it at runtime as follows

    public void onCreate(Bundle b) {
    
        Button button =(Button)findViewById(R.id.button);
        button.setOnClickListener(new OnClickListener(){
            public void onClick(View v) {
                //different action for each activity
            }
        });
    }
    
    0 讨论(0)
  • 2020-12-19 02:11

    Yes you can! I had multiple activities inflate the same layout but they save different shared preferences.

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.same_layout);
    
        TextView urlDesc = (TextView)findViewById(R.id.descriptionviewer);
        urlDesc.setText("url_1"); //now in other activities-- urlDesc.setText("url_2");
    
    
        ImageButton aButton = (ImageButton)findViewById(R.id.videolink);
        aButton.setOnClickListener(aButtonListener);
    }
    
    private OnClickListener aButtonListener = new OnClickListener() {
        public void onClick(View v) {
            // go open url_1 here. In other activities, open url_x, url_y, url_z
            finish();
        }
    };
    

    Same code just swapping the text you want to set for the TextView and url to open in OnClickListener(). No more to change.

    0 讨论(0)
提交回复
热议问题