可点击按钮,用于提取用户输入以创建新网址

时间:2013-06-21 17:07:28

标签: android url button

我的代码如下:

/** Called when the user clicks the Get My Image button */
final String baseUrl = "http://examplewebsite.com/";    
Button viewimagebutton = null
viewimagebutton = (Button) findViewById(R.id.imagegetter);
button.setOnClickListener(new OnClickListener(){ 

    @Override
    public void onClick(View v) {
        EditText editText1 = (EditText) findViewById(R.id.pixelw);
                EditText editText2 = (EditText) findViewById(R.id.pixelh);
                        EditText editText3 = (EditText) findViewById(R.id.pixels);
        String url = baseUrl + editText1.getText().toString() + "/"
                + editText2.getText().toString() + "/"
                + editText3.getText().toString() + "/";
        Intent i = new Intent(Intent.ACTION_VIEW , Uri.parse(url));
        startActivity(i);
    }});
    // Do something in response to button
}

然而就行了

 viewimagebutton = (Button) findViewById(R.id.imagegetter);

我遇到了一个错误,它有一些语法建议。我跟随人们在这里所说的话,但我现在感到茫然。如果您需要更多信息,请随时询问

2 个答案:

答案 0 :(得分:1)

完全可能。您尚未说明用户如何输入3个输入。我假设您之前定义了3个不同的EditText字段。

如果是这样,它会看起来像这样。

final String baseUrl = "http://examplewebsite.com/";    
button.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        String url = baseUrl + editText1.getText().toString() + "/"
                + editText2.getText().toString() + "/"
                + editText3.getText().toString() + "/"
        Intent i = new Intent(Intent.ACTION_VIEW , Uri.parse(url));
        startActivity(i);
    }});

当用户点击button时,系统会将其定向到由基本网址+ 3个EditText字段的输入组成的网址。

答案 1 :(得分:1)

正如Ken指出的那样(不幸的是我还没有足够的回复来回复)它只是连接字符串。

如果您认为参数列表将来可能会增长,则迭代句柄可能会更好,并将params作为List或数组传递。无论你觉得什么最合适。

但是如果这是出于Web服务的目的,还要考虑使用URL对象。它允许一些受控操作:

http://developer.android.com/reference/java/net/URL.html

道歉如果不相关,我在项目期间用它来与网络服务进行交流,这是我迄今为止所有的经验。

N.B。如果您直接从onClick操作中读取它们,还要对它们的字段进行一些验证! :)