0

Ich habe eine Aktivität, die eine Symbolleiste hat, in dieser Symbolleiste habe ich eine Bildansicht hinzugefügt und das Logo darin festgelegt.Zugriff auf Bildansicht einer Aktivität aus Fragment?

Auch ich habe verschiedene Fragmente erstellt, jetzt, wenn ich das Fragment sehe, möchte ich diese Bildansicht ausblenden und den Titel auf die Symbolleiste einer Aktivität setzen.

Ich habe die Bildansicht und Symbolleiste als öffentliche statische in Home-Aktivität festgelegt.

Ich versuchte Symbolleiste wie diese zuzugreifen:

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 

     View view = inflater.inflate(R.layout.fragment_account, container, false); 

     final Toolbar toolbar = (Toolbar) ((HomeActivity) getActivity()).findViewById(R.id.toolbar); 
     toolbar.setTitle(R.string.menu_account); 
     ((HomeActivity) getActivity()).setSupportActionBar(toolbar); 

     ((HomeActivity) getActivity()).mLogo.setVisibility(View.GONE); 


     return view; 
    } 

Aber ich bin eine Null-Zeiger auf das Bild, um immer und ich kann das Bild auf Symbolleiste, wenn kommentiert setVisibility (View.GONE) zu sehen.

HomeActivity

public class HomeActivity extends AppCompatActivity{ 

    public static Toolbar toolbar; 
    public static ImageView mLogo; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_home); 
     toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 

     mLogo = (ImageView)findViewById(R.id.imageViewLogo); 

     FragmentManager fragmentManager = HomeActivity.this.getFragmentManager(); 
     MainFragment fragment = new MainFragment(); 
     fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); 
     fragmentManager.beginTransaction().replace(R.id.mycontainer, fragment).commitAllowingStateLoss(); 

    } 

} 

Bitte dabei helfen. Vielen Dank.

Antwort

1

Get Bildansicht von Aktivität wie diese

ImageView mLogo = (ImageView)getActivity().findViewById(R.id.imageViewLogo); 
mLogo.setVisibility(View.GONE); 
+0

Bildansicht wird durch diese gegangen, aber ich kann den Titel in der Symbolleiste sehen. – Sid

+0

Überprüfen Sie Ihre XML-Datei .. Ich denke, Textausrichtung und Rand basierend auf Bildansicht? – sasikumar

+0

Ich habe eine andere Textansicht hinzugefügt. Danke. – Sid

Verwandte Themen