Android Sqlite单行选择

时间:2013-12-06 08:23:52

标签: java android database

在我的Android应用程序中,我需要获取我点击它的行...但现在我选择的行...最后一行显示....请检查我的代码,如果有任何错误请帮助我...

Mainactivity

public void saveddata(View V)
    {
        Cursor c = db.rawQuery("SELECT * from Data", null);
        int count = c.getCount();
        c.moveToFirst();




        TableLayout tableLayout = new TableLayout(getApplicationContext());
        tableLayout.setVerticalScrollBarEnabled(true);
        TableRow tableRow;
        TextView textView1, textView2,textView3,textView4,textView5;
        tableRow = new TableRow(getApplicationContext());         
        textView1 = new TextView(getApplicationContext());
        textView1.setText("FirstName");
        textView1.setTextColor(Color.RED);
        textView1.setTypeface(null, Typeface.BOLD);
        textView1.setPadding(10, 10, 10, 10);
        tableRow.addView(textView1);

        textView2 = new TextView(getApplicationContext());
        textView2.setText("LastName");
        textView2.setTextColor(Color.RED);
        textView2.setTypeface(null, Typeface.BOLD);
        textView2.setPadding(10, 10, 10, 10);
        tableRow.addView(textView2);

        tableLayout.addView(tableRow);

        for(Integer j=0; j<count; j++)


        {


            tableRow = new TableRow(getApplicationContext());
            textView3= new TextView(getApplicationContext());
            textView3.setText(c.getString(c.getColumnIndex("fname")));
            textView3.setClickable(true);

            ett1=textView3.getText().toString();
            //datas11=textView3.getText().toString();

            textView4 = new TextView(getApplicationContext());
            textView4.setText(c.getString(c.getColumnIndex("mname")));
            textView4.setClickable(true);
            ett2=textView4.getText().toString();
            //datas12=textView4.getText().toString();

            textView5 = new TextView(getApplicationContext());
            textView5.setText(c.getString(c.getColumnIndex("lname")));
            textView5.setClickable(true);
            ett3=textView5.getText().toString();
            //datas13=textView7.getText().toString();

            textView3.setPadding(10, 10, 10,10);
            textView5.setPadding(10, 10, 10, 10);
            tableRow.addView(textView3);
            tableRow.addView(textView5);
            tableLayout.addView(tableRow);
            c.moveToNext();

            textView3.setOnClickListener(new View.OnClickListener() {



                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                    Intent intent = new Intent(MainActivity.this ,SavedDate.class);
                    intent.putExtra("ett1",ett1 + "");
                    intent.putExtra("ett2",ett2 + "");
                    intent.putExtra("ett3",ett3 + "");

                    startActivity(intent);



                }
            });
        }


        c.close();
        setContentView(tableLayout);
          db.close();
        }

1 个答案:

答案 0 :(得分:1)

@Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                Intent intent = new Intent(MainActivity.this ,SavedDate.class);
                intent.putExtra("ett1", ((TextView)v).getText().toString() + "");

                startActivity(intent);



            }

因为ett1,ett2,ett3得到最后一个String

对于你需要的所有3个参数

final List<String> list = new ArrayList<String>();
list.add(textView3.getText().toString());
list.add(textView4.getText().toString());
list.add(textView5.getText().toString());


@Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                Intent intent = new Intent(MainActivity.this ,SavedDate.class);
                intent.putExtra("ett1", list.get(0) + "");
                intent.putExtra("ett2", list.get(1) + "");
                intent.putExtra("ett3", list.get(2) + "");

                startActivity(intent);



            }