【问题标题】:Multiple List on a single listview through different buttons通过不同按钮在单个列表视图上显示多个列表
【发布时间】:2014-11-03 01:13:50
【问题描述】:

我正在尝试通过不同的按钮在单个列表视图上使用多个数据,因为从 activity1 有两个按钮,如果在 activity2 上单击 button1,则显示不同的数据,如果单击 button2,则分别区分数据

//main

public class MainActivity extends ActionBarActivity {


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

    Button b1 = (Button) findViewById(R.id.button1);
    Button b2 = (Button) findViewById(R.id.button2);

    b1.setOnClickListener(new OnClickListener() {


        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            startActivity(new Intent(MainActivity.this, NEXT.class) );

        }


    });

    b2.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            startActivity(new Intent(MainActivity.this, NEXT.class) );

        }
    });

}
}

//for second activity
public class NEXT extends ListActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {

    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.next);

    if (R.id.button1 == clicked)   //did onClick="clicked"
     {
    setListAdapter(new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, 
            getResources().getStringArray(R.array.acceptors)));
     }
     else
     {
         setListAdapter(new ArrayAdapter<String>(this,
                    android.R.layout.simple_list_item_1, 
                    getResources().getStringArray(R.array.donars)));
     }

}
}

【问题讨论】:

    标签: java android listview


    【解决方案1】:

    您应该使用Intent 类的putExtra() 方法。在您的MainActivity 中添加额外的布尔值,键为acceptors

    public class MainActivity extends ActionBarActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            Button b1 = (Button) findViewById(R.id.button1);
            Button b2 = (Button) findViewById(R.id.button2);
    
            b1.setOnClickListener(new OnClickListener() {
    
    
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    startActivity(new Intent(MainActivity.this, NEXT.class).putExtra("acceptors", true);
    
                }
    
    
            });
    
            b2.setOnClickListener(new OnClickListener() {
    
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    startActivity(new Intent(MainActivity.this, NEXT.class).putExtra("acceptors", false));
    
                }
            });
    
        }
    }
    

    然后在您的 NEXT 活动中,获取意图,并检查您是否获得了接受者或捐赠者:

    public class NEXT extends ListActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
    
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.next);
            boolean isAcceptors = getIntent().getBooleanExtra("acceptors", false);
    
            if (isAcceptors)   //did onClick="clicked"
            {
                setListAdapter(new ArrayAdapter<String>(this,
                    android.R.layout.simple_list_item_1, 
                    getResources().getStringArray(R.array.acceptors)));
            }
            else
            {
                setListAdapter(new ArrayAdapter<String>(this,
                        android.R.layout.simple_list_item_1, 
                        getResources().getStringArray(R.array.donars)));
            }
    
       }
    }
    

    【讨论】:

    • 呃,这听起来可能很愚蠢,但你能看一下吗stackoverflow.com/questions/26934688/… 我想你可以帮忙,我真的很绝望,但没有得到正确的答案,我想你可以帮忙:|
    猜你喜欢
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 2013-05-13
    • 1970-01-01
    • 2017-01-14
    • 2016-04-15
    • 2014-06-19
    • 1970-01-01
    相关资源
    最近更新 更多