通过单击按钮将值传递给ListView

时间:2018-05-16 15:12:13

标签: android

我想通过单击按钮将值传递给列表视图。问题是我想通过几个按钮获取不同活动的值来制作一个列表。

  

例如:   在EnglandActivity,如果我点击按钮访问,我想通过"英格兰"到MainActivity中的 ListView ,   在马来西亚,活动通过"马来西亚"到MainActivity中的ListView。

我不知道该怎么做,你能帮助我吗?

3 个答案:

答案 0 :(得分:0)

让您的所有活动共享一个对象,将数据放在那里并在必须将数据放入ListView的适配器时阅读它们

答案 1 :(得分:0)

    myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int 
        position, long id) {

            Intent listIntent = new Intent(getApplicationContext(), YourActivity.class); 
            listIntent.putExtra("country", yourList.get(position));
            startActivity(listIntent);
        }
    });

在下一个活动onCreate:

String country;
    Bundle extras = getIntent().getExtras();
    if(extras == null) {
        country= null;
    } else {
        country= extras.getString("country");
    }

答案 2 :(得分:0)

首先,您应该在 MainActivity.java onCreate()方法上写下这个

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

String data;/*For Storing Country Name*/
ListView listview = (ListView)findViewById(R.id.listView); /*Finding ListView From Layout*/
ArrayList<String> list = new ArrayList<String>(); /*ArrayList To Store All The Data Of ListView*/
ArrayAdapter adapter= new ArrayAdapter<String>(this,R.layout.android.R.layout.simple_list_item_1,list);/*Defining ArrayAdapter For ListView*/
listview.setAdapter(adapter); /*Setting Adapter To ListView*/
Bundle intentExtras = getIntent().getExtras(); /*Getting The Intent Extras Sent By The Activity Which You Had Navigated From*/
if(intentExtras != null) {/*Checking For Null*/
     data= intentExtras.getString("countryName");/*Extracting The Data From The Intent Extras*/
     list.add(0,data);/*You Can Replace 0 With The Position Of Your Wish*/
} else {
    data=null;
      }
}

现在在每个 CountryNameActivity.java

按钮的OnClickListener()方法中写下此内容
 btn.setOnClickListener(new OnClickListener() {/*Setting The Click Listener*/
        @Override
        public void onClick(View v) {
        Intent intent = new Intent(this,MainActivity.this)/*Defining The Intent*/
       intent.putExtra("countryName","CountryName");/*Putting The Data To Pass To The Next Activity*/
       startActivity(intent);/*Starting The Activity*/
        }
    });
相关问题