Android:如何将先前的活动意图传递到Listview中 [英] Android : How to Pass the previous Activity Intent into a Listview
问题描述
我有两个活动(活动A,活动B ),在活动A 中,我有一个 EditText,Button和Image View
,在活动B ,我有一个 Listview ,并且listView视图包含具有 ImageView,TextView和另一个TextView
在活动A中,我在编辑文本"中输入列表名称"(例如:Apple),然后在GridView中选择一个图像.
我将Edittext和ImageView都传递到一个新的Activity,我想在ListView中显示这些名称(Apple和Apple Image).
我想显示类似的内容(我从上一个活动中获得了杂货清单和图像,我想在ListView中显示(在listview中,我还添加了Count TEXTVIEW)
firstActivity.Java
done.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v){字符串itemname = listname.getText().toString();如果(!TextUtils.isEmpty(listname.getText().toString())){startActivity(new Intent(getContext(),CheckslateHome.class).putExtra(数据",项名).putExtra("image",imageRes));解雇();} 别的 {Toast.makeText(getContext(),列表名称不为空",Toast.LENGTH_SHORT).show();}}});
第二活动公共类CheckslateHome扩展了AppCompatActivity {
TextView列表计数;@Override受保护的void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_checkslate_home);捆绑包bundle = getIntent().getExtras();if(bundle!= null){字符串itemName = bundle.getString("data");Int ItemImage = bundle.getString("Image");**//如何将这些意图传递给自定义ListView **}listcounts = findViewById(R.id.list_count);ListView listView = findViewById(R.id.list1);CustomAdpter customAdapter = new CustomAdpter();listView.setAdapter(customAdapter);}公共类CustomAdpter扩展了BaseAdapter {私有上下文上下文;私有LayoutInflater layoutInflater;@Overridepublic int getCount(){}@Override公共对象getItem(int i){返回null;}@Override公共长getItemId(int i){返回0;}@Overridepublic 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);返回视图}}
我强烈建议结合使用片段和导航,通过这种方式,您可以轻松浏览应用程序,并使用safe-args插件在片段之间发送值>
但是如果您坚持使用活动,则应使用 startActivityForResult
调用第二个活动.
I have Two Activity ( Activity A, Activity B
) In Activity A
i have a EditText,Button and Image View
And in Activity B i have a Listview and the listView View Contain CustomXml with ImageView,TextView,and Another TextView
in Activity A, i enter List Name in Edit Text (Ex : Apple)
and i Chose One Image ina GridView (Ex an Apple Image )
and i pass Both the Edittext and ImageView to a new Activity Where i want to Display Those names in ListView (Apple and Apple Image) How to DO that
i want to display something like this ( i get the Grocery List and Image From the Previous Activity and i want to display in ListView( in listview i extra add the items 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();
}
}
});
Second Activity public class CheckslateHome extends 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;
}
}
I Highly suggest using a combination of Fragments and navigation, in this way you can easily navigate through your app and send values between fragments using safe-args plugin
but if you persist on using activity, you should use startActivityForResult
to call second activity.
这篇关于Android:如何将先前的活动意图传递到Listview中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!