2017-02-16 28 views
0

私は連絡先と電話番号、電子メールなどの詳細を表示し、ListViewに表示するアプリケーションを作っています。各行の最後にクリック可能なボタンを追加して、私は電話番号の横にあるボタンをクリックし、ダイヤラーでTextViewに格納されている文字列を開くことができます。どうすればいいですか?次のように私の.xmlファイルは、次のとおりです。各TextViewの最後にクリック可能なボタンを追加する方法はありますか?

<?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> 
+0

詳細を教えてください!これまで何をしていますか?これを実現するには、カスタムリストビューを実装する必要があります。 –

+0

私はBaseAdapterを拡張するアダプタクラスと、TextViewにデータを格納するコンストラクタを持つクラスを持っています。また、ディレクトリに格納されたデータを表示するためにListViewを実装する表示リストクラスもあります。ディレクトリがきれいに表示されます。機能を追加して、その中のボタンをクリックするだけです。電話や電子メールTextView、それはダイヤラ/電子メールなどで開く – Spartan123

+0

私の提案:ボタンのクリックの代わりに、textviewのためにonclickを使用してください。リスト行だけをクリックしたとき。位置を使用して電話番号を取得し、それをACTION_DIALパラメータに渡してURIとして使用します。 –

答えて

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> 

私に教えてください、これはあなたが好きなようですか?教えてください。私はあなたのためにそれを編集します:)。

+0

こんにちは、あなたが提供したコードは、残念なことに多くの構文エラーを表示していません。 – Spartan123

+0

*が表示されています.... – Spartan123

+0

今すぐ試してください私はいくつかの変更を行いました。それは私にエラーを与える他の動作する必要があります。 –

1

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

uはあなたの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 
       } 
      } 
     }); 
    } 

} 
+0

こんにちは、ありがとう、私は可能な場合は、TextViewフィールドの右側にボタンを整列したいと思います、どうすればいいですか? – Spartan123

+0

私の新しい答えを見て、ボタンを右揃えにしてください! –

1

ここで、それはあなたが望んでいたとしてあなたのTextView の右側にあるボタンを示しているXMLファイルです! :)

<?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> 
関連する問題