1

我想在 onTouch 函数中启动一个活动,但它只是显示一个空白屏幕。我已经测试了这个活动,它在从主要活动开始时运行。在这里,我想从一个实现 onTouchListener 的类开始这个活动,并使用从 SurfaceView 扩展的自定义视图。

这是我的代码:

package com.example.tutorialfour;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnTouchListener;

public class SurfaceViewExample extends Activity implements OnTouchListener{

    ourView v;
    Bitmap ball;
    Bitmap blue;
    Bitmap magenta;
    Bitmap yellow;
    Bitmap green;
    Bitmap red;
    Bitmap sp;
    float x,y;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        try{
            v=new ourView(this);
            v.setOnTouchListener(this);
            ball=BitmapFactory.decodeResource(getResources(), R.drawable.search);
            blue=BitmapFactory.decodeResource(getResources(), R.drawable.blue);
            magenta=BitmapFactory.decodeResource(getResources(), R.drawable.magenta);
            yellow=BitmapFactory.decodeResource(getResources(), R.drawable.yellow);
            green=BitmapFactory.decodeResource(getResources(), R.drawable.green);
            red=BitmapFactory.decodeResource(getResources(), R.drawable.red);
            sp=BitmapFactory.decodeResource(getResources(), R.drawable.spouses);
            x=0;
            y=0;

            setContentView(v);

        }catch(Exception e)
        {
            e.printStackTrace();
        }

    }



    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        v.pause();

    }



    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        v.resume();
    }

    float x1=0;
    float y1=0;
    float r=100;
    float tlx=100;  //top left x
    float tly=100;  //top left y
    float trx;
    float try1;
    float dlx;
    float dly;
    float drx;
    float dry;
    float aux;      //action up x
    float auy;
    float cw;
    float ch;
    int distance;
    String predecessor = "Hello world of programming. Hello world of programming";
    String successor =  "Hello world of programming. Hello world of programming";
    String father = "Hello world of programming. Hello world of programming";
    String mother =  "";
    String spouses =  "Hello world of programming. Hello world of programming";
    int check=0;
    Bitmap scaled;
    String first="";
    String second= "";
    String third = "";
    boolean pred = true;
    boolean succ = true;
    boolean fath = true;
    boolean moth = true;
    boolean spou = true;
    float spx=3000;
    float spy=3000;
    int k=0;
    float aspx,aspy;
    boolean spGo=false;
    boolean spr=true, sps=true,spf=true,spm=true;
    Canvas c;
    Context context1;
    public class ourView extends SurfaceView implements Runnable
    {
        Thread t=null;
        SurfaceHolder holder;
        boolean IsItOK=false;

        public ourView(Context context) {
            super(context);
            // TODO Auto-generated constructor stub
            context1=context;
            holder = getHolder();
        }

        @Override
        public void run() {
            // TODO Auto-generated method stub
            while(IsItOK=true)
            {
                if(!holder.getSurface().isValid())
                {
                    continue;
                }

                c = holder.lockCanvas();
                //c.drawBitmap(ball, 0, 0, null);

                if(check==0)
                {
                int canvasWidth = c.getWidth();
                int canvasHeight = c.getHeight();

                int imageWidth = ball.getWidth();
                int imageHeight = ball.getHeight();

                float scaleFactor = Math.max( (float)canvasWidth / imageWidth, 
                                              (float)canvasHeight / imageHeight );
                scaled = Bitmap.createScaledBitmap(  ball, 
                                                            (int)(scaleFactor * imageWidth), 
                                                            (int)(scaleFactor * imageHeight), 
                                                            true );
                check++;
                }

                c.drawBitmap(scaled, 0, 0, null);

                Paint paint = new Paint();
                paint.setTextSize(24);
                paint.setStyle(Paint.Style.FILL_AND_STROKE);
                paint.setAntiAlias(true);

                Paint paint1 = new Paint();
                paint1.setTextSize(24);
                paint1.setStyle(Paint.Style.FILL_AND_STROKE);
                paint1.setAntiAlias(true);


//left-top              
                if(!(predecessor.length()==0))
                {
                    paint.setColor(Color.WHITE);
                    c.drawBitmap(magenta, x1, y1, null);
                    //c.drawCircle(x1+r, y1+r, r, paint1);
                    if(pred==true)
                    {
                        adjustText(predecessor);
                        pred= false;
                        k++;
                    }
                    if(first.length()!=0)
                    {
                        c.drawText(first, x1+20, y1+((r/2)+10), paint);
                    }
                    if(second.length()!=0)
                    {
                        c.drawText(second, x1+3, y1+r, paint);
                    }
                    if(third.length()!=0)
                    {
                        c.drawText(third, x1+20, y1+(r+(r/2)), paint);
                    }

                }

                c.drawBitmap(red, x1+((c.getWidth()/2)-(r+(r/2))), y1+((c.getHeight()/2)-(r+(r/2))), null);
                //c.drawCircle(x1+(c.getWidth()/2), y1+(c.getHeight()/2), r+(r/2), new Paint());//center
//down right                
                if(!(mother.length()==0))
                {
                    paint.setColor(Color.WHITE);
                    //c.drawCircle(x1+(c.getWidth()-r), y1+(c.getHeight()-r), r, paint1);
                    c.drawBitmap(green, x1+(c.getWidth()-(r*2)), y1+(c.getHeight()-(r*2)), null);

                    if(moth==true)
                    {
                        adjustText(mother);
                        moth= false;
                        k++;
                    }
                    if(first.length()!=0)
                    {
                        c.drawText(first, (x1+(c.getWidth()-(r*2)))+20, (y1+(c.getHeight()-(r*2))+(r/2)+10), paint);
                    }
                    if(second.length()!=0)
                    {
                        c.drawText(second, (x1+(c.getWidth()-(r*2)))+3, y1+(c.getHeight()-(r*2))+r, paint);
                    }
                    if(third.length()!=0)
                    {
                        c.drawText(third, (x1+(c.getWidth()-(r*2)))+20, y1+(c.getHeight()-(r*2))+(r+(r/2)), paint);
                    }

                }


                drx = x1+(c.getWidth()-r);
                dry = y1+(c.getHeight()-r);




//top right             
                if(!(successor.length()==0))
                {
                    paint.setColor(Color.WHITE);
                    c.drawBitmap(yellow, x1+(c.getWidth()-(r*2)), y1, null);
                    //c.drawCircle(x1+(c.getWidth()-r), y1+r, r, paint1);
                    if(succ==true)
                    {
                        adjustText(successor);
                        succ= false;
                        k++;
                    }
                    if(first.length()!=0)
                    {
                        c.drawText(first, (x1+(c.getWidth()-(r*2)))+20, (y1+(r/2)+10), paint);
                    }
                    if(second.length()!=0)
                    {
                        c.drawText(second, (x1+(c.getWidth()-(r*2)))+3, y1+r, paint);
                    }
                    if(third.length()!=0)
                    {
                        c.drawText(third, (x1+(c.getWidth()-(r*2)))+20, y1+(r+(r/2)), paint);
                    }

                }




                trx = x1+(c.getWidth()-r);
                try1 = y1+r;
//down left             
                if(!(father.length()==0))
                {
                    paint.setColor(Color.WHITE);
                    c.drawBitmap(blue, x1, y1+(c.getHeight()-(r*2)), null);
                    //c.drawCircle(x1+r, y1+(c.getHeight()-r), r, paint1);
                    if(fath==true)
                    {
                        adjustText(father);
                        fath= false;
                        k++;
                    }
                    if(first.length()!=0)
                    {
                        c.drawText(first, x1+20, y1+(c.getHeight()-(r*2))+((r/2)+10), paint);
                    }
                    if(second.length()!=0)
                    {
                        c.drawText(second, x1+3, y1+(c.getHeight()-(r*2))+r, paint);
                    }
                    if(third.length()!=0)
                    {
                        c.drawText(third, x1+20, y1+(c.getHeight()-(r*2))+(r+(r/2)), paint);
                    }

                }



                dlx = x1+r;
                dly=y1+(c.getHeight()-r);

                cw= c.getWidth();
                ch=c.getHeight();
//Spouses Circle on the front screen if some circle is missing which is identified by k     
                if(k<=3)
                {

                    if(pred==true)
                    {
                        spx=x1;
                        spy=y1;
                        spr=false;
                    }
                    else if(succ==true)
                    {
                        spx=x1+(c.getWidth()-(r*2)); 
                        spy=y1;

                        sps=false;
                    }
                    else if(fath==true)
                    {
                        spx=x1;
                        spy=y1+(c.getHeight()-(r*2));
                        spf=false;
                    }
                    else if(moth==true)
                    {
                        spx=x1+(c.getWidth()-(r*2)); 
                        spy=y1+(c.getHeight()-(r*2));
                        spm=false;
                    }
                    else
                    {
                        spx=2000;
                        spy=2000;
                    }

                    if(!(spouses.length()==0))
                    {
                        paint.setColor(Color.WHITE);
                        c.drawBitmap(sp, spx, spy, null);
                        //c.drawCircle(x1+r, y1+(c.getHeight()-r), r, paint1);
                        if(spou==true)
                        {
                            //adjustText(spouses);
                            spou= false;
                            //k++;
                        }
                        c.drawText("Show Spouses", spx+20, spy+r+5, paint);

                    }
                }


                //Log.e(mother+cw, "\n"+mother+ch);

                holder.unlockCanvasAndPost(c);
            }

        }
        public void pause()
        {
            IsItOK=false;
            while(true)
            {
                try{
                    t.join();
                }catch(InterruptedException e)
                {
                    e.printStackTrace();
                }
                break;

            }
            t=null;
        }
        public void resume()
        {
            IsItOK=true;
            t=new Thread(this);
            t.start();
        }
    }



    @Override
    public boolean onTouch(View v, MotionEvent me) {
        // TODO Auto-generated method stub

        try {
            Thread.sleep(50);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        switch(me.getAction())
        {

            case MotionEvent.ACTION_UP:
                aux=me.getX();
                auy=me.getY();

                break;
    /*      case MotionEvent.ACTION_MOVE:
                x=me.getX();
                y=me.getY();
                break;
        */}



        if((aux>=0 && aux<=(r*2)) && (auy>=0 && auy<=(r*2)) || spr==false)
        {
            if(!(tlx==0 || tly==0))
                distance = getDistance(tlx,tly);
            if(spr==false)
                spGo=true;
        }
        else if((aux>=(cw-(r*2)) && aux<=cw) && (auy>=0 && auy<=(r*2)) || sps==false)
        {
            if(!(trx==0 || try1==0))
                distance = getDistance(trx,try1);
            if(sps==false)
                spGo=true;
        }
        else if((aux>=0 && aux<=(r*2)) && (auy>=(ch-(r*2)) && auy<=ch) || spf==false)
        {
            if(!(dlx==0 || dly==0))
                distance = getDistance(dlx,dly);
            if(spf==false)
                spGo=true;
        }

        else if((aux>=(cw-(r*2)) && aux<=cw) && (auy>=(ch-(r*2)) && auy<=ch) || spm==false)
        {
            if(!(drx==0 || dry==0))
                distance = getDistance(drx,dry);
            if(spm==false)
                spGo=true;
        }
        else
        {

        }


        if(distance>r)
        {
        }
        else if(spGo==true)
        {
            try{
                //v.destroyDrawingCache();
                //Log.e(mother+cw, "\n"+mother+ch);
                v.clearAnimation();
                c.restore();

    //          Intent first = new Intent("com.example.tutorialfour.DRAWSPOUSES");

        //      SurfaceViewExample.this.startActivity(first);

                Intent myIntent = new Intent("com.example.tutorialfour.DRAWSPOUSES");
                //myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                SurfaceViewExample.this.startActivity(myIntent);

                }catch(Exception e)
                {

                    e.printStackTrace();
                }

        }
        else
        {
            DrawingTheBall d = new DrawingTheBall(this);
            setContentView(d);

        }

        return true;
    }

    public int getDistance(float x2,float y2)
    {
        distance = (int) Math.sqrt(((aux-x2)*(aux-x2))+((auy-y2)*(auy-y2)));
        return distance;
    }
    public void adjustText(String str)
    {
        if(str.length()>13)
        {
            first = str.substring(0, 14);
            str = str.substring(14, str.length());
            if(str.length()>15)
            {
                second = str.substring(0, 16);
                str = str.substring(16, str.length());
                if(str.length()>13)
                {
                    third = str.substring(0, 13);
                    third+="...";
                    str = str.substring(13, str.length());

                }
                else
                {
                    third = str;
                }
            }
            else
            {
                second = str;
            }
        }
        else
        {
            first = str;
        }
    }

}

这是我在 onTouch 函数中使用的代码:

Intent myIntent = new Intent("com.example.tutorialfour.DRAWSPOUSES");
SurfaceViewExample.this.startActivity(myIntent);

请帮助我,我已经尝试了许多互联网上可用的解决方案,但没有一个有效。

更新:这是活动的清单条目:

 <activity
     android:name="com.example.tutorialfour.drawSpouses" 
     android:label="@string/app_name"
     android:exported="false" >
    <intent-filter>
        <action android:name="com.example.tutorialfour.DRAWSPOUSES" />

        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

更新:drawSpouses 的代码:

package com.example.tutorialfour;

import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnTouchListener;


public class drawSpouses extends Activity implements OnTouchListener{

    spouseView v;
    Bitmap sp;
    Bitmap ball;
    Bitmap red;
    float x,y;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        try{
            v=new spouseView(this);
            v.setOnTouchListener(this);
            ball=BitmapFactory.decodeResource(getResources(), R.drawable.search);
            sp=BitmapFactory.decodeResource(getResources(), R.drawable.spouses);
            red=BitmapFactory.decodeResource(getResources(), R.drawable.red);
            x=0;
            y=0;
            setContentView(v);
        }catch(Exception e)
        {
            e.printStackTrace();
        }

    }



    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        v.pause();
    }



    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        v.resume();
    }

    float x1=0;
    float y1=0;
    float r=100;
    float tlx=100;  //top left x
    float tly=100;  //top left y
    float trx;
    float try1;
    float dlx;
    float dly;
    float drx;
    float dry;
    float aux;      //action up x
    float auy;
    float cw;
    float ch;
    int distance;
    String spouses =  "Hello world of programming. Hello world of programming";
    int check=0;
    Bitmap scaled;
    String first="";
    String second= "";
    String third = "";
    boolean pred = true;
    boolean succ = true;
    boolean fath = true;
    boolean moth = true;
    boolean spou = true;
    float spx=3000;
    float spy=3000;
    int k=0;
    String c1="", c2="", c3 ="", c4="";
    public class spouseView extends SurfaceView implements Runnable
    {
        Thread t=null;
        SurfaceHolder holder;
        boolean IsItOK=false;

        public spouseView(Context context) {
            super(context);
            // TODO Auto-generated constructor stub

            holder = getHolder();
        }

        @Override
        public void run() {
            // TODO Auto-generated method stub
            while(IsItOK=true)
            {
                if(!holder.getSurface().isValid())
                {
                    continue;
                }

                Canvas c = holder.lockCanvas();
                //c.drawBitmap(ball, 0, 0, null);

                if(check==0)
                {
                int canvasWidth = c.getWidth();
                int canvasHeight = c.getHeight();

                int imageWidth = ball.getWidth();
                int imageHeight = ball.getHeight();

                float scaleFactor = Math.max( (float)canvasWidth / imageWidth, 
                                              (float)canvasHeight / imageHeight );
                scaled = Bitmap.createScaledBitmap(  ball, 
                                                            (int)(scaleFactor * imageWidth), 
                                                            (int)(scaleFactor * imageHeight), 
                                                            true );
                check++;
                }

                c.drawBitmap(scaled, 0, 0, null);

                Paint paint = new Paint();
                paint.setTextSize(24);
                paint.setStyle(Paint.Style.FILL_AND_STROKE);
                paint.setAntiAlias(true);

                Paint paint1 = new Paint();
                paint1.setTextSize(24);
                paint1.setStyle(Paint.Style.FILL_AND_STROKE);
                paint1.setAntiAlias(true);


//left-top              
                if(!(spouses.length()==0))
                {
                    if(spou==true)
                    {
                        adjustText(spouses);
                        spou=false;
                    }

                    if(!(c1.length()==0))
                    {
                        paint.setColor(Color.WHITE);
                        c.drawBitmap(sp, x1, y1, null);
                        //c.drawCircle(x1+r, y1+r, r, paint1);
                        if(pred==true)
                        {
                            divideText(c1);
                            pred= false;
                            k++;
                        }
                        if(first.length()!=0)
                        {
                            c.drawText(first, x1+20, y1+((r/2)+10), paint);
                        }
                        if(second.length()!=0)
                        {
                            c.drawText(second, x1+3, y1+r, paint);
                        }
                        if(third.length()!=0)
                        {
                            c.drawText(third, x1+20, y1+(r+(r/2)), paint);
                        }
                    }


                    if(!(c2.length()==0))
                    {
                        paint.setColor(Color.WHITE);
                        c.drawBitmap(sp, x1+(c.getWidth()-(r*2)), y1, null);
                        //c.drawCircle(x1+(c.getWidth()-r), y1+r, r, paint1);
                        if(succ==true)
                        {
                            divideText(c2);
                            succ= false;
                            k++;
                        }
                        if(first.length()!=0)
                        {
                            c.drawText(first, (x1+(c.getWidth()-(r*2)))+20, (y1+(r/2)+10), paint);
                        }
                        if(second.length()!=0)
                        {
                            c.drawText(second, (x1+(c.getWidth()-(r*2)))+3, y1+r, paint);
                        }
                        if(third.length()!=0)
                        {
                            c.drawText(third, (x1+(c.getWidth()-(r*2)))+20, y1+(r+(r/2)), paint);
                        }

                    }

                    if(!(c3.length()==0))
                    {
                        paint.setColor(Color.WHITE);
                        c.drawBitmap(sp, x1, y1+(c.getHeight()-(r*2)), null);
                        //c.drawCircle(x1+r, y1+(c.getHeight()-r), r, paint1);
                        if(fath==true)
                        {
                            divideText(c3);
                            fath= false;
                            k++;
                        }
                        if(first.length()!=0)
                        {
                            c.drawText(first, x1+20, y1+(c.getHeight()-(r*2))+((r/2)+10), paint);
                        }
                        if(second.length()!=0)
                        {
                            c.drawText(second, x1+3, y1+(c.getHeight()-(r*2))+r, paint);
                        }
                        if(third.length()!=0)
                        {
                            c.drawText(third, x1+20, y1+(c.getHeight()-(r*2))+(r+(r/2)), paint);
                        }

                    }
                    if(!(c4.length()==0))
                    {
                        paint.setColor(Color.WHITE);
                        //c.drawCircle(x1+(c.getWidth()-r), y1+(c.getHeight()-r), r, paint1);
                        c.drawBitmap(sp, x1+(c.getWidth()-(r*2)), y1+(c.getHeight()-(r*2)), null);

                        if(moth==true)
                        {
                            divideText(c4);
                            moth= false;
                            k++;
                        }
                        if(first.length()!=0)
                        {
                            c.drawText(first, (x1+(c.getWidth()-(r*2)))+20, (y1+(c.getHeight()-(r*2))+(r/2)+10), paint);
                        }
                        if(second.length()!=0)
                        {
                            c.drawText(second, (x1+(c.getWidth()-(r*2)))+3, y1+(c.getHeight()-(r*2))+r, paint);
                        }
                        if(third.length()!=0)
                        {
                            c.drawText(third, (x1+(c.getWidth()-(r*2)))+20, y1+(c.getHeight()-(r*2))+(r+(r/2)), paint);
                        }

                    }


                }

                c.drawBitmap(red, x1+((c.getWidth()/2)-(r+(r/2))), y1+((c.getHeight()/2)-(r+(r/2))), null);
                //c.drawCircle(x1+(c.getWidth()/2), y1+(c.getHeight()/2), r+(r/2), new Paint());//center
//down right                


                drx = x1+(c.getWidth()-r);
                dry = y1+(c.getHeight()-r);




//top right             





                trx = x1+(c.getWidth()-r);
                try1 = y1+r;
//down left             




                dlx = x1+r;
                dly=y1+(c.getHeight()-r);

                cw= c.getWidth();
                ch=c.getHeight();

                holder.unlockCanvasAndPost(c);
            }

        }
        public void pause()
        {
            IsItOK=false;
            while(true)
            {
                try{
                    t.join();
                }catch(InterruptedException e)
                {
                    e.printStackTrace();
                }
                break;

            }
            t=null;
        }
        public void resume()
        {
            IsItOK=true;
            t=new Thread(this);
            t.start();
        }
    }



    @Override
    public boolean onTouch(View v, MotionEvent me) {
        // TODO Auto-generated method stub

        try {
            Thread.sleep(50);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        switch(me.getAction())
        {

            case MotionEvent.ACTION_UP:
                aux=me.getX();
                auy=me.getY();

                break;
    /*      case MotionEvent.ACTION_MOVE:
                x=me.getX();
                y=me.getY();
                break;
        */}



        if((aux>=0 && aux<=(r*2)) && (auy>=0 && auy<=(r*2)))
        {
            if(!(tlx==0 || tly==0))
                distance = getDistance(tlx,tly);
        }
        else if((aux>=(cw-(r*2)) && aux<=cw) && (auy>=0 && auy<=(r*2)))
        {
            if(!(trx==0 || try1==0))
                distance = getDistance(trx,try1);
        }
        else if((aux>=0 && aux<=(r*2)) && (auy>=(ch-(r*2)) && auy<=ch))
        {
            if(!(dlx==0 || dly==0))
                distance = getDistance(dlx,dly);
        }

        else if((aux>=(cw-(r*2)) && aux<=cw) && (auy>=(ch-(r*2)) && auy<=ch))
        {
            if(!(drx==0 || dry==0))
                distance = getDistance(drx,dry);
        }
        else
        {

        }


        if(distance>r)
        {

        }
        else
        {
            DrawingTheBall d = new DrawingTheBall(this);
            setContentView(d);

        }

        return true;
    }
    public int getDistance(float x2,float y2)
    {
        distance = (int) Math.sqrt(((aux-x2)*(aux-x2))+((auy-y2)*(auy-y2)));
        return distance;
    }
    public void adjustText(String str)
    {
        int ind=0;
        if(str.contains("\n"))
        {
            ind= str.indexOf('\n');
            c1= str.substring(0, ind);
            str = str.substring(ind+1, str.length());
            if(str.contains("\n"))
            {
                ind= str.indexOf('\n');
                c2= str.substring(0, ind);
                str = str.substring(ind+1, str.length());
                if(str.contains("\n"))
                {
                    ind= str.indexOf('\n');
                    c3= str.substring(0, ind);
                    str = str.substring(ind+1, str.length());
                    if(str.contains("\n"))
                    {
                        ind= str.indexOf('\n');
                        c4= str.substring(0, ind);
                        str = str.substring(ind+1, str.length());
                    }
                    else
                    {
                        c4=str;
                    }
                }
                else
                {
                    c3=str;
                }
            }
            else
            {
                c2=str;
            }
        }
        else
        {
            c1 = str;
        }



    }
    public void divideText(String str)
    {
        if(str.length()>13)
        {
            first = str.substring(0, 14);
            str = str.substring(14, str.length());
            if(str.length()>15)
            {
                second = str.substring(0, 16);
                str = str.substring(16, str.length());
                if(str.length()>13)
                {
                    third = str.substring(0, 13);
                    third+="...";
                    str = str.substring(13, str.length());

                }
                else
                {
                    third = str;
                }
            }
            else
            {
                second = str;
            }
        }
        else
        {
            first = str;
        }
    }

}
4

1 回答 1

1

尝试这个

像这样在您的活动中获取字段上下文

Context context;

然后设置

 context=this;

在你onCreate的活动中

然后像这样调用它

 Intent myIntent = new Intent(context,drawSpouses.class);     
     context.startActivity(myIntent);
于 2013-05-01T14:37:21.763 回答