如何在每个TextView的末尾添加可单击按钮?

时间:2017-02-16 18:29:56

标签: android xml android-studio navigation

我正在制作一个应用程序,显示联系人及其详细信息,如电话号码,电子邮件等,并将其显示在ListView中。我想在每行的末尾添加可点击按钮,以便例如我可以单击电话号码旁边的按钮并打开存储在拨号器TextView中的字符串,我该怎么办?我的.xml文件如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="fill_parent">

<ImageView android:id="@+id/imgAvatar"
    android:layout_width="70dip"
    android:layout_height="70dip"
    android:scaleType="fitCenter"
    android:src="@mipmap/ic_launcher"/>

<LinearLayout android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <TextView android:id="@+id/tvName"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textStyle="bold"/>

    <TextView android:id="@+id/tvPhone"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>

    <TextView android:id="@+id/tvEmail"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>

    <TextView android:id="@+id/tvLocation"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

</LinearLayout>

4 个答案:

答案 0 :(得分:3)

xml文件:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <ImageView android:id="@+id/imgAvatar"
        android:layout_width="70dip"
        android:layout_height="70dip"
        android:scaleType="fitCenter"
        android:src="@mipmap/ic_launcher"/>

    <LinearLayout android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">

        <TextView android:id="@+id/tvName"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textStyle="bold"/>

        <TextView android:id="@+id/tvPhone"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>

        <TextView android:id="@+id/tvEmail"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>

        <TextView android:id="@+id/tvLocation"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>
//add button where you want and type the code: android:onClick="functionName"


    </LinearLayout>

Java文件:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

       public void functionName(View view){
//set of codes you want to perform

}
    }

}

答案 1 :(得分:3)

你可以在java文件中定义你的按钮的可点击功能!

在xml文件中添加代码: -

<Button
        android:id="@+id/bun"
        android:text="click"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

java文件:

public class MainActivity extends AppCompatActivity {

private Button b;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

         b = (Button) view.findViewById(R.id.bun);
        b.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

//set codes u want to perform
                }
            }
        });
    }

}

答案 2 :(得分:3)

这是你的xml文件,它显示了textview右侧的按钮 如你所愿! :)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_marginLeft="10dp"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

    <ImageView
        android:id="@+id/imgAvatar"
        android:layout_width="70dip"
        android:layout_height="70dip"
        android:scaleType="fitCenter"
        android:src="@mipmap/ic_launcher" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:orientation="vertical">

            <TextView
                android:id="@+id/tvName"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="asdffgh"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/tvPhone"
                android:layout_width="fill_parent"

                android:layout_height="wrap_content"
                android:text="asdffgh" />

            <TextView
                android:id="@+id/tvEmail"
                android:layout_width="fill_parent"

                android:layout_height="wrap_content"
                android:text="asdffgh" />

            <TextView
                android:id="@+id/tvLocation"
                android:layout_width="fill_parent"

                android:layout_height="wrap_content"
                android:text="asdffgh" />
        </LinearLayout>

        <Button
            android:id="@+id/bun"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:text="click" />
    </RelativeLayout>
</LinearLayout>

答案 3 :(得分:1)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="fill_parent">

<ImageView android:id="@+id/imgAvatar"
    android:layout_width="70dip"
    android:layout_height="70dip"
    android:scaleType="fitCenter"
    android:src="@mipmap/ic_launcher"/>

<LinearLayout android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

<LinearLayout android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <TextView android:id="@+id/tvName"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textStyle="bold"/>
    <ImageView android:id="@+id/yourClickableImage"
    android:layout_width="70dip"
    android:layout_height="70dip"
    android:scaleType="fitCenter"
    android:src="@drawable/yourClickableImage"/>

</LinearLayout>

    <LinearLayout android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <TextView android:id="@+id/tvPhone"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textStyle="bold"/>
    <ImageView android:id="@+id/yourClickableImage"
    android:layout_width="70dip"
    android:layout_height="70dip"
    android:scaleType="fitCenter"
    android:src="@drawable/yourClickableImage"/>

</LinearLayout>


  <LinearLayout android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <TextView android:id="@+id/tvEmail"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textStyle="bold"/>
    <ImageView android:id="@+id/yourClickableImage"
    android:layout_width="70dip"
    android:layout_height="70dip"
    android:scaleType="fitCenter"
    android:src="@drawable/yourClickableImage"/>

</LinearLayout>


    <LinearLayout android:orientation="horizontal"
    android:layout_width="fill_parent"`enter code here`
    android:layout_height="wrap_content">
    <TextView android:id="@+id/tvLoation"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textStyle="bold"/>
    <ImageView android:id="@+id/yourClickableImage"
    android:layout_width="70dip"
    android:layout_height="70dip"
    android:scaleType="fitCenter"
    android:src="@drawable/yourClickableImage"/>

</LinearLayout>


</LinearLayout>

</LinearLayout>

让我知道这是你想要的方式吗?告诉我,我会为你编辑它:)。