实际上我有两个活动,即MainActivity和ListVIew
我想将此字符串数组“arr”从MainActivity传递给ListVIew ..
Activity ListVIew将显示“arr”
注意:arr中的数据是由我创建的数据库提供的,并且工作正常。
在Activity ListView中检索arr存在一些问题
MainActivity
package com.vivekmishra1991.database;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
public int i;
public String arr[] = new String[100];
private DatabaseHelper databaseHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// A clickable TextView
final TextView textView=(TextView) findViewById(R.id.savedContent);
textView.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
<--ARRAY(arr) RETRIVED FROM DATABASE-->
Intent intent=new Intent(MainActivity.this,ListVIew.class);
intent.putExtra("array",arr);
startActivity(intent);
}
});
} // onCreate ends here
}
的ListView
<-imports->
public class ListVIew extends Activity {
ListView listview;
Intent intent=getIntent();
String[] arr=intent.getStringArrayExtra("array");
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.view_list);
listview.findViewById(R.id.list);
ArrayAdapter<String> Adapter = new ArrayAdapter<String> (this,android.R.layout.simple_list_item_1,arr);
listview.setAdapter(Adapter);
}
}
答案 0 :(得分:0)
你应该从oncreate中获取额外内容
'getIntent()。getStringArrayExtra(String name)'
修改
我错误地写了bundle,这是另一种通过意图传递对象的方法。我写的方法直接将它存储在intent中。
答案 1 :(得分:0)
如果您想将数据发送到其他活动,可以使用intent
。
Bundle bund = new Bundle();
bund.putString("myKey",name);
Intent intent = new Intent(MainActivity.this, ListView.class);
intent.putExtras(bund);
startActivity(intent);
现在在ListView类中,在onCreate()
中接收此数据 @Override
protected void onCreate(Bundle savedInstanceState) {
.......
String nameReceived = getIntent().getExtras().getString("myKey");
}
我已经给出了将String传递给另一个活动的示例,但是,您可以将boolean,int,double等传递给另一个活动。请参阅here
上的完整列表