0

我正在从用户输入两个值,即经度和纬度,并且有一个显示位置按钮,单击时它使用这两个经度和纬度值显示位置。我只需要在 showlocation() 或按钮上使用意图

请检查我的代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"

    android:orientation="horizontal" >


 <EditText android:id="@+id/lat"
        android:layout_weight="50"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:hint="@string/lat" />

 <EditText
     android:id="@+id/longi"
     android:layout_width="0dp"
     android:layout_height="wrap_content"
     android:layout_weight="50"
     android:ems="10"
     android:hint="@string/longi" >

     <requestFocus />
 </EditText>

 <Button
     android:layout_width="1dp"
     android:layout_height="wrap_content"
     android:layout_weight="100"
     android:text="@string/button_send"
     android:onClick="showlocation()" />
</LinearLayout>



public void showlocation(){

        String uri = "http://maps.google.com/maps?saddr=" + "9982878"+","+"76285774"+"&daddr="+"9992084"+","+"76286455";
        Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(uri));
        intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
        startActivity(intent); 
         }
4

1 回答 1

0

不是很清楚你想要什么。

尝试将onClick按钮上的属性设置为showLocation而不是showLocation()

之后,您需要public在您的Activity

public void showLocation(View v) {
    // do what you want if the button is clicked by user

}

或者您可以onClick在您的 上删除该属性,向该按钮button添加id属性以便您可以在您的 上找到它Activity,然后让您的Activity implements onClickListener

Button yourbutton = (Button) findViewById(R.id.ID_YOU_DEFINE);
yourbutton.setOnClickListener(this);

// You have to override this method since your activity implements it.
@Override
public void onClick(View v) {
    switch (v.getId()) {
    case R.id.ID_YOU_DEFINE :
        // do what you want if button with id ID_YOU_DEFINE is clicked

    case R.id.OTHER_ID :
        // do what you want

    }

}
于 2012-09-01T01:55:03.070 回答