Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用空值打开活动两次_Android_Android Intent - Fatal编程技术网

Android 使用空值打开活动两次

Android 使用空值打开活动两次,android,android-intent,Android,Android Intent,我有一个带有一些按钮的活动,当您首先有意点击其中任何一个按钮时,会向另一个包含列表视图的活动发送一个值,该活动会被数据库填充。我想把这个值用作where命令select的参数,用特殊内容填充列表视图 现在我有一个问题,当运行程序并单击某个按钮时,首先打开一个空列表视图,然后单击“上一步”按钮,列表视图将正确显示数据 我的错误在哪里? 源主活动 最终意图i=新意图(MainActivity.this,ListActivity.class) 源列表活动 公共类ListActivity扩展活动{

我有一个带有一些按钮的活动,当您首先有意点击其中任何一个按钮时,会向另一个包含列表视图的活动发送一个值,该活动会被数据库填充。我想把这个值用作where命令select的参数,用特殊内容填充列表视图

现在我有一个问题,当运行程序并单击某个按钮时,首先打开一个空列表视图,然后单击“上一步”按钮,列表视图将正确显示数据

我的错误在哪里?

源主活动


最终意图i=新意图(MainActivity.this,ListActivity.class)

源列表活动


公共类ListActivity扩展活动{
字符串值=”;
MovieDB myDbHelper;
sqlitedb数据库;
列表适配器;
阵列列表数据;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.list\u布局);
value=getIntent().getStringExtra(“位置”);
ListView lst=(ListView)findViewById(R.id.listView1);
加载_数据库();
db=myDbHelper.getReadableDatabase();
游标c=db.rawQuery(“从电影列表中选择*,其中product='”+value+'”,null);
数据=新的ArrayList();
对于(;c.moveToNext();){
HashMap=newHashMap();
字符串img=c.getString(c.getColumnIndex(“img”);
字符串名称=c.getString(c.getColumnIndex(“名称”));
地图放置(“img”,img);
地图。放置(“名称”,名称);
数据。添加(地图);
}
适配器=新的ListMovie(此,数据);
lst.setAdapter(适配器);
}

请帮帮我!

我想你错调用了两次
startActivity()
。如果你想在调用一次
startActivity()
的同时将值发送到下一个
活动
就足够了。

为什么要调用两次startActivity()方法?startActivity(I);用于发送值和startActivity(GoToList);对于登录活动,我非常感谢您的指点
    btn_irani.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            i.putExtra("position","ایران");
            startActivity(i);

            startActivity(GoToList);

        }
    });


    btn_turkie.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
              i.putExtra("position","ترکیه");
                startActivity(i);
            startActivity(GoToList);

        }
    });
public class ListActivity extends Activity {





    String value = "";
    MovieDB myDbHelper;
    SQLiteDatabase db;
    ListAdapter adapter;
    ArrayList<HashMap<String, String>> data;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.list_layout);






        value = getIntent().getStringExtra("position");


        ListView lst=(ListView) findViewById(R.id.listView1);
        Load_Database();
        db = myDbHelper.getReadableDatabase();



        Cursor  c = db.rawQuery("select * from movie_list where product = '"+value+"'", null);

            data = new ArrayList<HashMap<String, String>>();

            for (; c.moveToNext();) {
                HashMap<String, String> map = new HashMap<String, String>();
                String img = c.getString(c.getColumnIndex("img"));
                String name = c.getString(c.getColumnIndex("name"));
                map.put("img", img);
                map.put("name", name);
                data.add(map);
            }
            adapter = new ListMovie(this, data);

            lst.setAdapter(adapter);

    }