我是应用程序开发的新手,我正在尝试弄清楚如何将名称等用户输入发送到位于不同活动中的列表视图。
提前致谢。
MainActivity:
13
ListViewActivity:
public class MainActivity extends AppCompatActivity {
private Button mbuttonNext;
private EditText meditTextName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
meditTextName = (EditText) findViewById(R.id.editTextName);
mbuttonNext = (Button) findViewById(R.id.buttonNext);
mbuttonNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, ClientList.class);
startActivity(intent);
}
});
}
}
答案 0 :(得分:0)
开始新活动时:
Intent newIntent = new Intent(MainActivity.this, ClientList.class);
newIntent.putExtra("com.example.myapp.NAME", "someName");
startActivity(newIntent);
然后在ClientList中:
Intent intent = getIntent();
String name = intent.getStringExtra("com.example.myapp.NAME");
然后可以使用name变量作为ListView的源数据。
答案 1 :(得分:0)
在主要活动中,您需要intent.putExtra
mbuttonNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, ClientList.class);
intent.putExtra("VariableName", "Fred");
startActivity(intent);
}
});
比listView
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_client_list);
listaClientes = (ListView) findViewById((R.id.listView));
Bundle bundle = getIntent().getExtras(); //get the intent and data passed
//next check that bundle is not null
if (bundle != null) {
String name = bundle.getString("VariableName");
//try loging out the value
Log.i("Name", name);
}
}
我相信这会解决你的问题
答案 2 :(得分:0)
通常你应该创建一个能够"设置" ListView中的项目。为了您将用户输入发送/转移到另一个活动,您可以使用" putExtra()"。您可以通过以下方式执行此操作:
intent.putExtra("str1",item)
其中str1是让您的项目进入您开始的活动的关键。要做到这一点,你应该这样做:
Bundle b = getIntent().getExtras();
Obj a = (TypeCast) b.get("str1");
之后,您应该阅读如何创建适配器并将其设置在ListView中,以便ListView显示该项目。