0
package as.d.d;

import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class add extends Activity implements OnClickListener{


    Button b1,b2;
    EditText e2,e3;
    TextView t1;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.add);

        b1=(Button)findViewById(R.id.button1);
        b2=(Button)findViewById(R.id.button2);
        e2=(EditText)findViewById(R.id.editText2);
        e3=(EditText)findViewById(R.id.editText3);
        t1=(TextView)findViewById(R.id.AtextView1);

        b1.setOnClickListener(this);
        b2.setOnClickListener(this);


        DatabaseHandler db = new DatabaseHandler(this);
        List<StudentInfo> studentInfo = db.getAllStudentInfo();

        for (StudentInfo cn : studentInfo){

            t1.setText("Id:"+(cn.getID()+1));
        }
   }

    @Override
    public void onClick(View v) {


        if(v==b2){
            startActivity(new Intent(add.this, FdActivity.class));
        }
        else if(v==b1){

            String s2=e2.getText().toString();
            String s3=e3.getText().toString();

            if(s2.trim().equals("")||s3.trim().equals("")){

                Toast.makeText(getApplicationContext(), "Please Submit Student Information",Toast.LENGTH_SHORT).show();

                }   

            else{
                DatabaseHandler db = new DatabaseHandler(this);
                Log.d("Insert: ", "Inserting ..");
                db.addContact(new StudentInfo(s2,s3));
                Log.d("Reading: ", "Reading all contacts..");
                List<StudentInfo> studentInfo = db.getAllStudentInfo();
                for (StudentInfo cn : studentInfo){
                    t1.setText("Id:"+(cn.getID()+1));
            }}}}}

在这个添加类中,我使用 Textview 自动生成学生 ID(数字(int)和两个文本字段,通过按下按钮将学生姓名和电话号码提交到数据库中。这里学生 ID、姓名和电话号码已成功提交。

在 addmark 类中,我使用自动完成文本视图来显示我从添加类提交的名称。当我选择一个名称假设 Farhan(我已经提交到数据库并且 id 是 4 并且电话号码是 99876 存储在数据库中)然后我想要在两个 textview(TextView t1,t2;) 中查看 id 和电话号码?

package as.d.d;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.TextView;
import android.widget.Toast;

public class addmark extends Activity{

    AutoCompleteTextView a1;
    TextView t1,t2;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.addmark);

        a1=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);
        t1=(TextView)findViewById(R.id.amtextView1);
        t2=(TextView)findViewById(R.id.amtextView2);




        DatabaseHandler db = new DatabaseHandler(this);

        final List<StudentInfo> studentInfo = db.getAllStudentInfo();



        final ArrayList<String> s1 = new ArrayList<String>();


        for (StudentInfo cn : studentInfo) {
            s1.add(cn.getName());


        }
        ArrayAdapter<String> adapter =  new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,s1); 

        a1.setThreshold(1); 
        a1.setAdapter(adapter);



        a1.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
}
        });
4

1 回答 1

0

首先,根据不独特的东西来选择学生是个坏主意。您想在自动完成文本视图中选择名称,然后根据该名称显示电话号码和 ID。想象一下,如果您有 2 个或更多同名的学生(不排除)会发生什么。您应该使用在数据库中唯一定义记录的某些内容(或某些内容的组合)填充您的自动完成电视。至于如何实现这一点,只需验证您的控件何时失去焦点,然后将 2 textViews 设置为您需要的值。

a1.setOnFocusChangeListener(new OnFocusChangeListener() {          

    public void onFocusChange(View v, boolean hasFocus) {
        if(!hasFocus)
           //set the textViews with the values you need 
    }
});

同样,请记住,不建议根据可以在数据库中重复的内容来选择您的 id 和电话号码(两者都可以是您的数据库表的唯一标识符)。

于 2013-04-05T14:51:28.090 回答