1

我正在尝试将图像放入TextView. 我已经使用图像跨度完成了它,但我的问题是我不能放入onClickListener每个图像(在同一个 TextView 中,同一个 TextView 中有多个图像)。请建议我该怎么做。

4

2 回答 2

1

制作一个custom.xml

    <RelativeLayout
       xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent"
      android:layout_height="wrap_content">
      <ImageView 
           android:id="@+id/thumbnail_view"
           android:src="@drawable/ic_launcher"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content" />

<TextView android:id="@+id/message_view"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_toRightOf="@id/thumbnail_view"
           android:textSize="18sp"
           android:text="MyText" />
  </RelativeLayout>

然后在 main.xml 中,包含这个 custom.xml

      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="vertical" 
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"  
      android:gravity="center_horizontal">

     <include 
       android:id="@+id/customView"
       layout="@layout/custom"/>

        </LinearLayout>

这是我的 mainActivity.class

    package com.example.test;
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.ImageView;
    import android.widget.TextView;


    public class MainActivity extends Activity implements OnClickListener {

       private String TAG = MainActivity.class.getSimpleName();
       ImageView img;
       ImageView img1;
     @Override
     protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);

      TextView txt = (TextView)findViewById(R.id.message_view);
      img = (ImageView) findViewById(R.id.thumbnail_view);
      img1 = (ImageView) findViewById(R.id.thumbnail_view1);

      img.setOnClickListener(this);
       img1.setOnClickListener(this);

     }
   @Override
   public void onClick(View v) {
      if(v== img){
         // do something for img
     }
       else if (v== img1){
          //do something for img1
     }

  }
 }
于 2013-06-25T06:21:07.990 回答
0

改为制作自定义视图。那会容易得多。

于 2013-06-25T05:13:13.930 回答