Wie können Text und Bilder in der nächsten Aktivität angezeigt werden?

Ich habe eine Android-App wie eine Galerie erstellt, die Bilder enthält, die ein Rasterview-Fragment verwenden.

Die Funktionalität funktioniert einwandfrei und das Bild wird auch in der Fragment-Rasteransicht und der Buchaktivität angezeigt, aber der Text wird nicht angezeigt (Text nicht festgelegt).

Hier ist mein 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 ist mein Buchaktivitätscode, wo Text und Bilder angezeigt werden sollen Bild zeigt gut, aber ich weiß nicht, wie ich Text anzeigen kann:

@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
Möchten Sie Text anzeigen?
hinzugefügt der Autor Rajshree Tiwari, Quelle
Ich mache einige Änderungen in Ihrem Code, ich gebe Ihnen die aktualisierte Antwort
hinzugefügt der Autor Rajshree Tiwari, Quelle
warum verwenden Sie fullimg [] -Array?
hinzugefügt der Autor Rajshree Tiwari, Quelle
@AyanApps wenn die Antwort funktioniert, also würde ich die Antwort nicht aktualisieren :)
hinzugefügt der Autor Rajshree Tiwari, Quelle
Vielleicht verstehe ich das Problem nicht, aber können Sie nicht einfach die Zeichenfolge nehmen, während Sie die imageId nehmen? textView .setText (getIntent (). getStringExtra ("web"))
hinzugefügt der Autor Siim Puniste, Quelle
Enthält der web Schlüssel Ihren Text?
hinzugefügt der Autor Varad Mondkar, Quelle
Ja, ich möchte sowohl Text als auch Bilder zu Buchaktivitäten anzeigen
hinzugefügt der Autor Ayan Apps, Quelle
Ok, ich werde auf dein Update warten
hinzugefügt der Autor Ayan Apps, Quelle
Ich möchte zwei verschiedene Bilder zur Buchaktivität zeigen
hinzugefügt der Autor Ayan Apps, Quelle
Sie können jetzt aktualisieren
hinzugefügt der Autor Ayan Apps, Quelle

5 Antworten

Anstatt Variablen durch Absicht an die nächste Aktivität zu übergeben, verwenden Sie Application class zum Speichern von Daten und zur Verwendung an einer beliebigen Stelle in der App.

0
hinzugefügt
public class ApplicationLoader erweitert Application {@Override public void onCreate() {super.onCreate (); } private int data = 0; public int getCompanyModel() {Rückgabedaten; } public void setCompanyModel (int data) {this.data = data; }} \ n In Manifest \ nsetze und rufe Variable \ n ApplicationLoader applicationLoader = (ApplicationLoader) getApplicationContext (); applicationLoader.setCompanyModel (); applicationLoader.getUpdatesModel ();
hinzugefügt der Autor Parth Suthar, Quelle
können Sie mir den Code der Application-Klasse zum Speichern von Daten anzeigen
hinzugefügt der Autor Ayan Apps, Quelle

Setzen Sie Ihre Konstante, die Sie beim Übergeben des Textwerts beabsichtigen textView.setText (getIntent (). getStringExtra ("YourKeyValue"));

0
hinzugefügt

Die Einstellung der Textansicht wird nur auskommentiert. Setzen Sie einfach TextView ähnlich wie 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
hinzugefügt

Holen Sie einfach Ihren Text von Intent. Ich überlege, dass web Ihren Text enthält. Der folgende Code wird dann Text für Sie abrufen

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

Sie können den übergebenen Text nicht wie für das Bild abrufen;)

0
hinzugefügt