PDA

View Full Version : کار با صفحه کلید



moh355
پنج شنبه 23 بهمن 1393, 07:15 صبح
سلام

اگر میشه راهنمایی کنید که چطور میتونم از رویداد های مربوط به صفحه کلید اندروید استفاده کنم مثلا با کلید enter یه کاری انجام بده (Keyevent) . ممنون

tux-world
پنج شنبه 23 بهمن 1393, 13:03 عصر
به نظر میرسه نتونید این کار رو بکنید مگر اینکه خودتون یه کیبورد طراحی کنید و بنویسید

c0mmander
پنج شنبه 23 بهمن 1393, 13:28 عصر
اگر منظوریتون اینکه که این خود کیبرود رفتاری رو از خودش نشان بدهد که همانطور که دوستمون گفتن باید یک کیبرود رو بنوسید.
اما اگر منظورت این است که در هنگام وارد شدن ENTER با کد اسکی 13 (با معادل r\) رویداد eventkey اتفاق افتد باید داخل ویو مورد نظرتون رویداد رو تعریف کنید.
http://developer.android.com/reference/android/view/KeyEvent.html

moh355
جمعه 24 بهمن 1393, 06:49 صبح
چیزی که من نشتم به صورت زیر ولی نمیدونم چرا کار نمیکنه

txtMynote.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int i, KeyEvent keyEvent) {
if(i==KeyEvent.KEYCODE_ENTER)
{
TextView t=(TextView) findViewById(R.id.textView);
t.setText(String.valueOf("enter"));
return true;
}
return false;
}
});

میشه بگید اشکال کار کجاست

c0mmander
جمعه 24 بهمن 1393, 11:49 صبح
کد شما درسته اما احتمالا در جای دیگری اشتباه کردید:

کد تست شده:



public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText txtMynote =(EditText) findViewById(R.id.EditText1);

txtMynote.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int i, KeyEvent keyEvent) {
if(i==KeyEvent.KEYCODE_ENTER)
{
TextView t=(TextView) findViewById(R.id.textView1);
t.setText(String.valueOf("enter"));
return true;
}
return false;
}
});
}
}

moh355
یک شنبه 10 اسفند 1393, 17:12 عصر
دوستان یه سوالی داشتم میشه راهنمایی کنید ؟
من کد زیر نوشتم که زمانی که کاربر enter زد یه کاری انجام بده اما زمانی جواب میده که کاربر با صفحه کلید فیزیکی کار کنه نه صفحه کلید تاچ خود اندروید ممنون میشم کمک کنید


txt.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int i, KeyEvent keyEvent) {
if (keyEvent.getAction() == KeyEvent.ACTION_DOWN) {
//..
}
}
return false;
}
});