2011-06-18 61 views
2

我有一个应用程序,我试图去到一个网站的特定部分。当用户输入EditText中的文本并点击Button时,我希望应用程序获取该字符串并将其输入到我想要的url的特定部分。从字符串搜索?

第一个活动

private EditText text; 
private Button search; 


text = (EditText) findViewById (R.id.text); 
search = (Button) findViewById (R.id.Search); 

search.setOnClickListener(new OnClickListener(){ 
     public void onClick(View v){ 
      Intent intent = new Intent (FirstActivity.this,SecondActivity.class); 
      intent.putExtra("string", text.getText().toString()); 
      startActivity(intent); 
     } 
    }); 

次活动

WebView mWebView; 
private EditText string; 
private String string1; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.webview); 

    string = (EditText) findViewById (R.id.string); 
    string.(getIntent().getExtras().getString("string"));   
    mWebView = (WebView) findViewById(R.id.webview); 
    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.loadUrl("http://www.example.com/"+string); 


} 
} 

任何帮助将不胜感激感谢。

回答

3

你快到了。

string1 = getIntent().getExtras().getString("string", ""); 

后来编辑:String变量的名称为string1,不string。您也必须更改最后一行:

mWebView.loadUrl("http://www.example.com/"+string1); 

考虑使用较少混淆的,更具描述性的变量名称。从长远来看,这将有很大帮助。

+0

感谢您的回复。我得到一个错误,不在'.getString'上,它给了我三个建议'remove getString(string)','change to getLong(...)'和'change to putString'。关于我应该做什么的任何建议。 – Christian

+0

错误究竟是什么?该方法的签名是'getString(String key,String defaultValue)'。你可以使用'getString(String key)',但是你必须明确地检查'null',以防套件中不包含密钥。 –

+0

我的不好,我在第一个活动中使用了'(“string”)'作为字符串键,而在第二个活动中使用了字符串作为'EditText',所以它一定是相互冲突的,所以我改变了其中的一个,效果很好。谢谢你的帮助。 – Christian