Java 从arrayadapter获取输入并在其他活动中逐个显示
假设我能够在适配器中添加播放器名称作为输入,然后在listview中显示它们。现在,我想显示用户刚刚在第二个活动中添加的这些名称,但不显示为列表视图。但是单一项目。我怎么能不说呢 在这里,我创建适配器并添加播放器名称:Java 从arrayadapter获取输入并在其他活动中逐个显示,java,android,adapter,Java,Android,Adapter,假设我能够在适配器中添加播放器名称作为输入,然后在listview中显示它们。现在,我想显示用户刚刚在第二个活动中添加的这些名称,但不显示为列表视图。但是单一项目。我怎么能不说呢 在这里,我创建适配器并添加播放器名称: public class ZaidejaiActivity extends ActionBarActivity implements View.OnClickListener{ public Button mBtnIstrinti; public Button m
public class ZaidejaiActivity extends ActionBarActivity implements View.OnClickListener{
public Button mBtnIstrinti;
public Button mBtnPrideti;
public Button mBtnPradeti;
public EditText mYrasytiVarda;
public ListView mZaidejai;
ArrayList<String> list = new ArrayList<String>();
ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zaidejai);
mBtnPradeti = (Button)findViewById(R.id.žaistiBtn);
mBtnPradeti.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent pradetiZaidima = new Intent(v.getContext(), ZaidimasActivity.class);
startActivity(pradetiZaidima);
}
});
mBtnPrideti = (Button)findViewById(R.id.pridėtiBtn);
mBtnPrideti.setOnClickListener(this);
mYrasytiVarda = (EditText)findViewById(R.id.VardoYrasymoBtn);
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, list);
// set the mZaidejai variable to your list in the xml
mZaidejai=(ListView)findViewById(R.id.sarašas);
mZaidejai.setAdapter(adapter);
@Override
public void onClick(View v) {
String input = mYrasytiVarda.getText().toString();
if(input.length() > 0)
{
// add string to the adapter, not the listview
adapter.add(input);
// no need to call adapter.notifyDataSetChanged(); as it is done by the adapter.add() method
}else{
AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("Klaida:");
alertDialog.setMessage("Blogai yrašytas vardas");
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// here you can add functions
}
});
alertDialog.show();
}
}
公共类ZaidejaiActivity扩展了ActionBarActivity实现了View.OnClickListener{
公共按钮mBtnIstrinti;
公共按钮mBtnPrideti;
公共按钮mBtnPradeti;
公共编辑文本mYrasytiVarda;
公共列表视图mZaidejai;
ArrayList=新建ArrayList();
阵列适配器;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zaidejai);
mBtnPradeti=(按钮)findViewById(R.id.žaistiBtn);
mBtnPradeti.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Intent pradetiZaidima=newintent(v.getContext(),ZaidimasActivity.class);
星触觉(pradetiZaidima);
}
});
mBtnPrideti=(按钮)findviewbyd(R.id.pridėtiBtn);
mBtnPrideti.setOnClickListener(这个);
mYrasytiVarda=(EditText)findViewById(R.id.VardoYrasymoBtn);
adapter=new ArrayAdapter(这是android.R.layout.simple\u expandable\u list\u item\u 1,list);
//将mZaidejai变量设置为xml中的列表
mZaidejai=(ListView)findViewById(R.id.sarašas);
mZaidejai.设置适配器(适配器);
@凌驾
公共void onClick(视图v){
字符串输入=mYrasytiVarda.getText().toString();
if(input.length()>0)
{
//将字符串添加到适配器,而不是listview
adapter.add(输入);
//无需调用adapter.notifyDataSetChanged();因为它是由adapter.add()方法完成的
}否则{
AlertDialog AlertDialog=新建AlertDialog.Builder(this.create();
alertDialog.setTitle(“Klaida:”);
setMessage(“Blogai yrašytas vardas”);
alertDialog.setButton(“确定”,新的DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int which){
//在这里可以添加函数
}
});
alertDialog.show();
}
}
在这里,我想将添加的输入显示为单个值
public class ZaidimasActivity extends ZaidejaiActivity {
ArrayList<String> listas = getIntent().getStringArrayListExtra("list");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zaidimas);
}
公共类ZaidimasActivity扩展了ZaidjaiActivity{
ArrayList listas=getIntent().getStringArrayListExtra(“列表”);
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zaidimas);
}
如何在上一个活动中从适配器获取上下文以及如何显示它们?您要做的是将列表作为捆绑包传递给新活动。为适配器类创建一个getter方法以获取列表
mBtnPradeti.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent pradetiZaidima = new Intent(v.getContext(),
ZaidimasActivity.class);
pradetiZaidima.putExtra("playerList", adapter.getList());
startActivity(pradetiZaidima);
}
});
然后在你发起的活动中
public class ZaidimasActivity extends ZaidejaiActivity {
ArrayList<String> listas;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zaidimas);
listas.getIntent().getExtras().getStringArrayList("playerList");
}
公共类ZaidimasActivity扩展了ZaidjaiActivity{
arraylistlistas;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zaidimas);
listas.getIntent().getExtras().getStringArrayList(“playerList”);
}
我认为这将对您有所帮助:出于某种原因,我正在为getList获取未解析的方法。而getIntent应用程序应该在适配器中创建一个getter方法。“为适配器类创建一个getter方法以获取列表。”