0

我想通过editText的文本开始一个活动。

例如:当我输入任何字符串时,例如“字符串”,它应该会自动启动一个活动。

4

5 回答 5

1

您应该使用 textwatcher 事件来实现它。因为每次用户在edittext中输入任何内容时都会调用它。

我希望它对你有帮助。

于 2012-06-04T10:15:56.500 回答
1

我认为使用TextWatcher你可以开始活动。你只需检查方法中的字符串afterTextChanged......

if(s.toString().equals("string")){
 //startActivity here
}

像,

edittext.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                // TODO Auto-generated method stub

            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
                // TODO Auto-generated method stub

            }

            @Override
            public void afterTextChanged(Editable s) {
                if(s.toString().equals("string")){
                            //startActivity here
                        }
            }
        });
于 2012-06-04T10:16:12.220 回答
0

你可以使用一个OnkeyListener

myEditTextField.setOnKeyListener(new OnKeyListener() {
     @Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
    if (event.getAction() == KeyEvent.ACTION_UP) {
        if (myEditTextField.getText().toString().trim().equals("your string")) {
                    // start your activity
                }
            }
    }
});
于 2012-06-04T10:16:02.563 回答
0

用这种方式

  final EditText et = (EditText) findViewById(R.id.editText1);


et.addTextChangedListener(new TextWatcher()
     {
    public void afterTextChanged(Editable s){

        }
    }
    public void beforeTextChanged(CharSequence s,int start,int count, int after){} 
    public void onTextChanged(CharSequence s, int start, int before, int count) {
            if(s.length() > 0) {
             if(et.getText().toString().equals("string"){
                      Intent i=new Intent(YourActivity.this,SecondActivity.class);
                      startActivity(i);
            }
     }
   });
于 2012-06-04T10:21:27.910 回答
-1

这是 NextActivity.java

public class NextActivity extends Activity {

//Your member variable declaration here

// Called when the activity is first created.
@Override
public void onCreate(Bundle savedInstanceState) {
//Your code here
}
}

创建新的 Activity 后,我们必须在文件“AndroidManifest.xml”中注册它。为了注册,我们必须在“AndroidManifest.xml”中创建一个条目作为

**<activity android:name=".NextActivity" android:label="@string/app_name"/>**
于 2012-06-04T11:14:08.780 回答