将数据插入EditText

时间:2013-03-07 04:00:19

标签: android button android-edittext

我正在创建一个简单的应用程序,它有两个按钮和一个edittext。单击按钮时,edittext将显示我的数据库的值。我试过这段代码但是没有用

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

    if (v == bnt1) {
    SharedPreferences sharename = PreferenceManager.getDefaultSharedPreferences(this);
    String na = sharename.getString("thename", "null");

    edit.setText(na);

    } else if (v == bnt2) {

    SharedPreferences sharedescribed = PreferenceManager.getDefaultSharedPreferences(this);
    String dess = sharedescribed.getString("thedescribed", "null");

    edit.setText(dess);




}
}

请告诉我问题。

4 个答案:

答案 0 :(得分:0)

使用以下代码:

btn1.setOnClickListener(new OnClickListener() {         
            @Override
            public void onClick(View v) {
  SharedPreferences sharename = PreferenceManager.getDefaultSharedPreferences(this);
    String na = sharename.getString("thename", "null");
    edit.setText(na);
        }
}

btn2.setOnClickListener(new OnClickListener() {         
            @Override
            public void onClick(View v) {
  SharedPreferences sharedescribed = PreferenceManager.getDefaultSharedPreferences(this);
    String dess = sharedescribed.getString("thedescribed", "null");

    edit.setText(dess);
        }
}

答案 1 :(得分:0)

试试这段代码:

  SharedPreferences sharename = this.getSharedPreferences("sharename", MODE_WORLD_READABLE);
    String prefName = sharename.getString("thename", 0);
    edit.setText(prefName);

答案 2 :(得分:0)

我猜Exception是NullPointerException。在调用getString()方法之前,请检查您的共享首选项是否为null。

答案 3 :(得分:0)

您可能没有Button附加到onClick()方法,当您尝试在方法中引用null pointer exception时会导致v 。有不同的方法来实现它(以编程方式或通过xml)。使用您显示的内容(不覆盖onClick()方法),您似乎希望使用xml方式,这意味着您需要为Buttons

声明函数
<Button
    android:id="@+id/btn1"
    android:onClick="onClick"

然后为btn2做同样的事情。然后,v将引用点击的Button。您也可以通过编程方式执行此操作,但设置onClickListener

    Button btn1 = (Button) findViewById(R.id.btn1);
btn1.setOnClickListener(new OnClickListener() {         
    @Override
    public void onClick(View v)
    {
      // some code
    }
});

但是你必须为btn2做同样的事情,所以如果你想为两个Button重用相同的函数,那么第一种方法将是首选。

Here is a link to a previous answer of mine convering the same thing