Hoe kan tekst en afbeelding worden weergegeven in de volgende activiteit

Ik heb een Android-app als galerij gemaakt met enkele afbeeldingen met een gridview-fragment.

Functionaliteit werkt prima en afbeelding wordt ook weergegeven in fragment-rasterweergave en Boek-activiteit, maar tekst wordt niet weergegeven (tekst niet ingesteld)

Hier is mijn fragmentcode:

GridView grid;
    String[] web = {
            "Google",
            "Github",
            "Instagram",
            "Facebook",
            "Flickr",
            "Pinterest",
            "Quora",
            "Twitter",
            "Vimeo",
            "WordPress",
            "Youtube",
            "Stumbleupon",
            "SoundCloud",
            "Reddit",
            "Blogger"

    } ;
    int[] imageId = {
            R.drawable.person7,
            R.drawable.person1,
            R.drawable.person2,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7

    };
    int[] fullimg = {
            R.drawable.person7,
            R.drawable.person1,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7,
            R.drawable.person7

    };

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

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

        CustomGrid adapter = new CustomGrid(getActivity(), web, imageId, fullimg);

        //CustomGrid adapter = new CustomGrid(MainActivity.this, web, imageId);

        grid=(GridView) view.findViewById(R.id.grid);
        grid.setAdapter(adapter);
        grid.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {


               //Toast.makeText(MainActivity.this, "You Clicked at " +web[+ position], Toast.LENGTH_SHORT).show();



                String value=(String)grid.getItemAtPosition(i);
                Intent intent=new Intent(getActivity(),Book.class);
                intent.putExtra("web", web[i]);
                intent.putExtra("imageId", imageId[i]);
                intent.putExtra("fullimg", fullimg[i]);
                startActivity(intent);

            }
        });

        //return inflater.inflate(R.layout.fragment_status, container, false);
        return view;
    }

Hier is mijn Book-activiteitencode waar tekst en afbeelding getoond moeten worden afbeelding toont prima, maar ik weet niet hoe ik tekst kan weergeven:

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


        TextView textView = (TextView) findViewById(R.id.txttitle);
        ImageView imageView = (ImageView)findViewById(R.id.imageView2);


        //textView.setText(txttitle);
        //textView.setText(web[i]);
        imageView.setImageResource(getIntent().getIntExtra("fullimg", R.drawable.person7));


    }
0
dus wil je tekst laten zien?
toegevoegd de auteur Rajshree Tiwari, de bron
Ik doe enkele wijzigingen in uw code, ik geef u het bijgewerkte antwoord
toegevoegd de auteur Rajshree Tiwari, de bron
waarom gebruikt u fullimg [] array?
toegevoegd de auteur Rajshree Tiwari, de bron
@AyanApps als het antwoord werkt, dus ik zou het antwoord niet bijwerken :)
toegevoegd de auteur Rajshree Tiwari, de bron
Misschien begrijp ik het probleem niet, maar kun je niet gewoon de string nemen terwijl je de imageId neemt? textView .setText (getIntent (). getStringExtra ("web"))
toegevoegd de auteur Siim Puniste, de bron
Bevat de sleutel web uw tekst?
toegevoegd de auteur Varad Mondkar, de bron
Ja, ik wil zowel tekst als afbeelding laten zien bij boekactiviteit
toegevoegd de auteur Ayan Apps, de bron
Ok ik zal wachten op je update
toegevoegd de auteur Ayan Apps, de bron
Ik wil twee verschillende afbeeldingen laten zien van boekenactiviteit
toegevoegd de auteur Ayan Apps, de bron
je kunt nu updaten
toegevoegd de auteur Ayan Apps, de bron

5 antwoord

In plaats van variabelen door te geven aan de volgende activiteit, gebruikt u de klasse Toepassing om gegevens op te slaan en overal in de app te gebruiken.

0
toegevoegd
openbare klasse ApplicationLoader breidt toepassing uit {@Override public void onCreate() {super.onCreate (); } private int data = 0; public int getCompanyModel() {retourgegevens; } public void setCompanyModel (int data) {this.data = data; }} \ n In Manifest, \ nset en krijg variabele \ n ApplicationLoader applicationLoader = (ApplicationLoader) getApplicationContext (); applicationLoader.setCompanyModel (); applicationLoader.getUpdatesModel ();
toegevoegd de auteur Parth Suthar, de bron
kun je me code van de toepassingklasse laten zien om gegevens op te slaan
toegevoegd de auteur Ayan Apps, de bron

Zet je constante die je opzet terwijl tekstwaarde wordt doorgegeven textView.setText (. getIntent() getStringExtra ( "YourKeyValue"));

0
toegevoegd

Het instellen van tekstweergave wordt gewoon uit weggelaten. Zet TextView gewoon op vergelijkbaar met imageview:

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


    TextView textView = (TextView) findViewById(R.id.txttitle);
    ImageView imageView = (ImageView)findViewById(R.id.imageView2);


    textView.setText(getIntent().getStringExtra("web"))
    imageView.setImageResource(getIntent().getIntExtra("fullimg", R.drawable.person7));


}
0
toegevoegd

Haal je tekst gewoon bij Intent. Ik overweeg dat web uw tekst bevat, waarna de onderstaande code tekst voor u ophaalt

textView.setText(getIntent().getStringExtra("web"));
0
toegevoegd
//textView.setText(txttitle);
//textView.setText(web[i]);
imageView.setImageResource(getIntent().getIntExtra("fullimg", R.drawable.person7));

U haalt de doorgegeven tekst niet op zoals bij de afbeelding;)

0
toegevoegd