Android:前のアクティビティインテントをリストビューに渡す方法

Aug 23 2020

私は2つの活動(持っているActivity A, Activity B)でActivity A、私が持っているのEditText,Button and Image Viewとで活動B私が持っているリストビューとリストビュービューとCustomXmlが含まImageView,TextView,and Another TextView

アクティビティAで、[テキストの編集]にリスト名を入力し、(Ex : Apple)GridViewで1つの画像を選択します(Ex an Apple Image )

そして、EdittextとImageViewの両方を新しいアクティビティに渡します。これらの名前をListView(AppleおよびApple Image)に表示します。その方法

このようなものを表示したい(前のアクティビティから買い物リストと画像を取得し、ListViewに表示したい(listviewにアイテムCount TEXTVIEWを追加する)

firstActivity.Java

 done.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


                String itemname = listname.getText().toString();
                if (!TextUtils.isEmpty(listname.getText().toString())) {

                    startActivity(new Intent(getContext(), CheckslateHome.class).putExtra("data", itemname).putExtra("image", imageRes));
                    dismiss();
                } else {
                    Toast.makeText(getContext(), "List Name not Empty ", Toast.LENGTH_SHORT).show();
                }

            }

        });

2番目のアクティビティパブリッククラスCheckslateHomeはAppCompatActivityを拡張します{

TextView listcounts;


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


    Bundle bundle = getIntent().getExtras();
    if (bundle != null) {

       String itemName= bundle.getString("data");
       Int ItemImage = bundle.getString("Image");

**//How to Pass these Intents into the Custom ListView** 

    }


    listcounts = findViewById(R.id.list_count);
    ListView listView = findViewById(R.id.list1);

    CustomAdpter customAdapter = new CustomAdpter();
    listView.setAdapter(customAdapter);

   
}

public class CustomAdpter extends BaseAdapter {


   
    private Context context;
    private LayoutInflater layoutInflater;


    @Override
    public int getCount() {
      
    }

    @Override
    public Object getItem(int i) {
        return null;
    }

    @Override
    public long getItemId(int i) {
        return 0;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {

        if (view == null) {
            view = layoutInflater.inflate(R.layout.rowlayout, viewGroup, false);

        }


        ImageView imageicons = view.findViewById(R.id.image_list);
        TextView listnames = view.findViewById(R.id.list_name);

       


        return view;
    }
}

回答

AlirezaTabatabaeian Aug 23 2020 at 19:52

フラグメントとナビゲーションを組み合わせて使用​​することを強くお勧めします。このようにして、safe-argsプラグインを使用して、アプリ内を簡単にナビゲートし、フラグメント間で値を送信できます。

ただし、アクティビティを使い続ける場合は、を使用startActivityForResultして2番目のアクティビティを呼び出す必要があります。