Android 动态选框文本

Android 动态选框文本,android,android-listview,textview,android-xml,android-scrollview,Android,Android Listview,Textview,Android Xml,Android Scrollview,在Android中,是否可以将列表视图的java编码文本添加到字幕滚动。如果是,你能告诉我怎么做吗 如果需要,我将张贴使用的代码。 这是listview使用的XML,如下所示 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"

在Android中,是否可以将列表视图的java编码文本添加到字幕滚动。如果是,你能告诉我怎么做吗

如果需要,我将张贴使用的代码。 这是listview使用的XML,如下所示

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >
     <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
    </LinearLayout>
    <ListView
        android:id="@+id/audiolist_listView"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_gravity="bottom"
        android:layout_weight="1"
        android:background="@drawable/backgroundimg"
        android:divider="@drawable/gradient"
        android:dividerHeight="1dp"
        android:scrollbars="vertical" >
    </ListView>

</LinearLayout>
public class Audiovediolist extends Activity implements OnItemClickListener {
    private ListView audioList;
    private Intent frmHome;
    private ArrayList<HashMap<String, String>> dataList;
    private HashMap<String, String> map;
    private HashMap<String, String> data;
    private int Screen_Id;
    private AdView adView;
    String name;
    String mSign[] = { "Aries-Mesam", "Taurus-Vrushabham", "Gemini-Midhunam",
            "Cancer-Karkatakam", "Leo-Simham", "Virgo-Kanya", "Libra-Tula",
            "Scorpio-Vruchikam", "Sagittarius-Dhanussu", "Capricorn-Makaram",
            "Aquarius-Kumbham", "Pisces-Meenam" };
    Integer mImages[] = { R.drawable.meshamu, R.drawable.vrushabhamu,
            R.drawable.medhunam, R.drawable.karkatakam, R.drawable.simham,
            R.drawable.kanya, R.drawable.tula, R.drawable.vruchikam,
            R.drawable.dhanussu, R.drawable.makaramu, R.drawable.kumbhamu,
            R.drawable.meenamu };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_RIGHT_ICON);
        setContentView(R.layout.list);
        frmHome = getIntent();
        getIntentValues();
        initUI();
        setUI();
        uiListener();
    }

    private void initUI() {
        audioList = (ListView) findViewById(R.id.audiolist_listView);
        dataList = new ArrayList<HashMap<String, String>>();
        adView = new AdView(this, AdSize.SMART_BANNER, "a150b89c23af3b2");
        LinearLayout layout = (LinearLayout) findViewById(R.id.linearLayout1);
        layout.setGravity(Gravity.TOP);
        layout.addView(adView);
        adView.loadAd(new AdRequest());
    }

    private void uiListener() {
        audioList.setOnItemClickListener(this);
    }

    private void getIntentValues() {
        String id = frmHome.getStringExtra("Activity_Id");
        Screen_Id = Integer.parseInt(id);
        if (Screen_Id == 1) {
            getWindow().setFeatureDrawableResource(Window.FEATURE_RIGHT_ICON,
                    R.drawable.audioo);
            this.setTitle(getResources().getString(R.string.audio));
            this.setTitleColor(getResources().getColor(R.color.Beige));
        } else {
            this.setTitle(getResources().getString(R.string.video));
            this.setTitleColor(getResources().getColor(R.color.Beige));
            getWindow().setFeatureDrawableResource(Window.FEATURE_RIGHT_ICON,
                    R.drawable.videoo);
        }
    }

    private void setAdapter() {
        SimpleAdapter adapter = new SimpleAdapter(this, dataList,
                R.layout.list_row, new String[] { "Image", "text" }, new int[] {
                        R.id.audiolist_row_img, R.id.audiolist_row_tv });
        audioList.setAdapter(adapter);
    }

    private void setUI() {
        for (int a = 0; a <= 11; a++) {
            map = new HashMap<String, String>();
            map.put("Image", "" + mImages[a]);
            map.put("text", mSign[a]);
            dataList.add(map);
            map = null;
        }
    }

    @Override
    protected void onStart() {
        super.onStart();
        setAdapter();
    }

    @Override
    public void onBackPressed() {
        super.onBackPressed();
        System.gc();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        adView.destroy();
    }

    /*
     * private class NextTask extends AsyncTask<Void,Void,Void> { ProgressDialog
     * progressDailog = new ProgressDialog(Audiovediolist.this);
     * 
     * @Override protected void onPreExecute() { super.onPreExecute();
     * progressDailog.setTitle("Please Wait");
     * progressDailog.setMessage("URL Data Loading ...");
     * progressDailog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
     * progressDailog.setCancelable(true); progressDailog.show(); }
     * 
     * @SuppressWarnings("static-access")
     * 
     * @Override protected Void doInBackground(Void... params) { return null; }
     * 
     * @Override protected void onPostExecute(Void result) {
     * progressDailog.dismiss(); } }
     */
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position,
            long id) {
        data = dataList.get(position);
        //FinalConstants.AUDIO_VIDEO = "list";
        try {
            NetWorkCheck netWork = new NetWorkCheck();
            if (netWork.isNetWorkConnection(this)) {
                if (Screen_Id == 1) {
                    // new NextTask().execute();
                    Intent audioInt=new  Intent(getApplicationContext(),AudioView.class);
                     audioInt.setType(data.get("text"));

                     startActivity(audioInt);
                } else if (Screen_Id == 2) {
                    Intent vedioInt = new Intent(this, VideoPlayActivity.class);
                    vedioInt.setType(data.get("text"));
                    startActivity(vedioInt);
                }
            } else {
                netWork.alert();
            }
        } catch (Exception e) {
            e.printStackTrace();
            Toast.makeText(this, "Problem while ListItemClick",
                    Toast.LENGTH_SHORT).show();
        }
    }
}
public class AudioView extends Activity implements OnClickListener {
    private MediaPlayer mMediaPlayer;
    private ImageView mPlay;
    private ImageView mPause;
    private ImageView mBack;
    private ImageView mFar;
    private ProgressBar myProgressBar;
    private boolean boolFlag = false;
    private boolean isPausedInCall = false;
    private String url;
    private TelephonyManager mTelephoneMgr;
    private NotificationManager mNotificationManager;
    private int SIMPLE_NOTFICATION_ID;
    private TextView tv;
    // private boolean serviceRunning;
    Notification notifyDetails;
    private AdView adView;


    @SuppressWarnings("deprecation")
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().requestFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
        setContentView(R.layout.marquee);
        Toast.makeText(this,"please wait.........",Toast.LENGTH_LONG).show();
        url=getIntent().getType();
        initUI();
        uiListener();

        mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        notifyDetails = new Notification(R.drawable.mulug_icon, url,
                System.currentTimeMillis());
        mTelephoneMgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
        if (mTelephoneMgr != null) {
            mTelephoneMgr.listen(phoneStateListener,
                    PhoneStateListener.LISTEN_CALL_STATE);
        }
        /*if(FinalConstants.AUDIO_VIDEO=="listitem"){
        LoginProgress task = new LoginProgress();
        task.applicationContext = AudioView.this;
        task.execute();
    }*/
    }

    private void initUI() {
        tv = (TextView) findViewById(R.id.text);
        mBack = (ImageView) findViewById(R.id.back);
        mPlay = (ImageView) findViewById(R.id.play);
        mPause = (ImageView) findViewById(R.id.pause);
        mFar = (ImageView) findViewById(R.id.fwd);
        myProgressBar = (ProgressBar) findViewById(R.id.progressbar_Horizontal);
        myProgressBar.setProgressDrawable(getResources().getDrawable(
                R.drawable.green_progress));
        myProgressBar.setProgress(0);
        adView = new AdView(this, AdSize.BANNER, "a150b89c23af3b2");
        LinearLayout layout = (LinearLayout) findViewById(R.id.linearLayout1);
        layout.setGravity(Gravity.TOP);
        layout.addView(adView);
        adView.loadAd(new AdRequest());
        tv.setText(url + "more Deails Click on www.mulugu.com");
        tv.setSelected(true);
    }
    private void uiListener() {
        mPlay.setOnClickListener(this);
        mPlay.setOnClickListener(this);
        mPause.setOnClickListener(this);
        mPause.setVisibility(android.view.View.INVISIBLE);
        mBack.setOnClickListener(this);
        mFar.setOnClickListener(this);
    }

    private Thread myThread = new Thread() {
        public void run() {
            while (mMediaPlayer.getCurrentPosition() < mMediaPlayer
                    .getDuration()) {
                try {
                    myProgressBar
                            .setProgress(mMediaPlayer.getCurrentPosition());
                } catch (Throwable t) {
                }
            }
        }
    };



    @Override
    protected void onStart() {
        super.onStart();
        this.setProgressBarIndeterminateVisibility(true);
        try {
            if (boolFlag == false) {
                System.out.println(FinalConstants.URL + "mobile-audio/" + url+ ".mp3");
                mMediaPlayer = MediaPlayer.create(
                        this,
                        Uri.parse(FinalConstants.URL + "mobile-audio/" + url
                                + ".mp3"));
            }
            myProgressBar.setMax(mMediaPlayer.getDuration());
        } catch (Exception e) {
            Toast.makeText(getApplicationContext(), "Data not available",
                    Toast.LENGTH_SHORT).show();
            Log.e("ERRORS", "Data Not Exist in that Url...");
            super.onBackPressed();
            e.printStackTrace();
        }
    }

    @SuppressLint("NewApi")
    @Override
    public void onBackPressed() {
        super.onBackPressed();
        mMediaPlayer.stop();
        // myThread.stop();
        mNotificationManager.cancel(SIMPLE_NOTFICATION_ID);
        System.gc();
    }

    @Override
    protected void onDestroy() {
        adView.destroy();
        super.onDestroy();
        System.gc();
    }



    public PhoneStateListener phoneStateListener = new PhoneStateListener() {
        @Override
        public void onCallStateChanged(int state, String incomingNumber) {
            if (state == TelephonyManager.CALL_STATE_RINGING) {
                System.out.println("ringing state");
                if (mMediaPlayer != null) {
                    pauseMedia();
                    isPausedInCall = true;
                }
                notificationShow();
            }
            if (state == TelephonyManager.CALL_STATE_IDLE) {
                System.out.println("callState Idle");
                if (mMediaPlayer != null) {
                    if (isPausedInCall) {
                        isPausedInCall = false;
                        playMedia();
                    }
                }
            }
            if (state == TelephonyManager.CALL_STATE_OFFHOOK) {
            }
            super.onCallStateChanged(state, incomingNumber);
        }
    };

    private void pauseMedia() {
        mMediaPlayer.pause();
        changePlayerIcons(false);
    }

    private void playMedia() {
        mMediaPlayer.start();
        changePlayerIcons(true);
    }
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.play:
            if (!boolFlag) {
                try {
                    notificationShow();
                     mMediaPlayer.setLooping(false);
                     mMediaPlayer.prepareAsync();
                } catch (Exception e) {
                    Toast.makeText(this, "preparing", Toast.LENGTH_SHORT)
                            .show();
                }
                boolFlag = true;
                mMediaPlayer.start();
                myThread.start();
            } else {
                notificationShow();
                mMediaPlayer.getCurrentPosition();
                mMediaPlayer.start();
            }
            changePlayerIcons(true);
            myProgressBar.setProgress(mMediaPlayer.getCurrentPosition());
            mMediaPlayer.setOnCompletionListener(new OnCompletionListener() {
                @Override
                public void onCompletion(MediaPlayer arg0) {
                    changePlayerIcons(false);
                    myProgressBar.setProgress(0);
                    onStart();
                }
            });
            mMediaPlayer.setOnPreparedListener(new OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mp) {
                }
            });
            break;
        case R.id.pause:
            mMediaPlayer.pause();
            mPlay.setVisibility(android.view.View.VISIBLE);
            mPause.setVisibility(android.view.View.INVISIBLE);
            break;
        case R.id.back:
            int dur = mMediaPlayer.getCurrentPosition();
            int pos = (dur > 10000 ? dur - 5000 : 0);
            mMediaPlayer.seekTo(pos);
            break;
        case R.id.fwd:
            int curpos = mMediaPlayer.getCurrentPosition();
            int dur2 = mMediaPlayer.getDuration();
            int pos2 = (curpos + 5000 > dur2 ? dur2 : curpos + 5000);
            mMediaPlayer.seekTo(pos2);
            break;
        }
    }

    @SuppressWarnings("deprecation")
    private void notificationShow() {
        Context context = getApplicationContext();
        CharSequence contentTitle = "Mulugu Running";
        CharSequence contentText = url + " Weekly Predictions";

        Intent notifyIntent = new Intent(AudioView.this, AudioView.class);
        PendingIntent intent = PendingIntent.getActivity(AudioView.this, 0,
                notifyIntent, android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP);
        notifyDetails.setLatestEventInfo(context, contentTitle, contentText,
                intent);
        mNotificationManager.notify(SIMPLE_NOTFICATION_ID, notifyDetails);
    }

    private void changePlayerIcons(boolean b) {
        if (b) {
            mPlay.setVisibility(android.view.View.INVISIBLE);
            mPause.setVisibility(android.view.View.VISIBLE);
        } else {
            mPlay.setVisibility(android.view.View.VISIBLE);
            mPause.setVisibility(android.view.View.INVISIBLE);
        }
    }

    /*public class LoginProgress extends AsyncTask<Void, Void, Void> {

        private ProgressDialog dialog;
        protected Context applicationContext;

        @Override
        protected void onPostExecute(Void result) {
            // TODO Auto-generated method stub
            super.onPostExecute(result);
            this.dialog.dismiss();
        }

        @Override
        protected void onPreExecute() {
            this.dialog = ProgressDialog.show(applicationContext, "Data Loading",
                    "Loading .....", true);
        }

        @Override
        protected Void doInBackground(Void... params) {
            LoadUrl();
            return null;
        }
        private void LoadUrl() {
            mMediaPlayer = new MediaPlayer();
            mMediaPlayer.reset();
            try {
                mMediaPlayer.setDataSource(AudioView.this,Uri.parse(FinalConstants.URL + "mobile-audio/" + getIntent().getType()+ ".mp3"));
                mMediaPlayer.setLooping(false); // Set looping
                mMediaPlayer.prepare();
                myProgressBar.setMax(mMediaPlayer.getDuration());
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }*/
}

listview的java类如下所示

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >
     <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
    </LinearLayout>
    <ListView
        android:id="@+id/audiolist_listView"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_gravity="bottom"
        android:layout_weight="1"
        android:background="@drawable/backgroundimg"
        android:divider="@drawable/gradient"
        android:dividerHeight="1dp"
        android:scrollbars="vertical" >
    </ListView>

</LinearLayout>
public class Audiovediolist extends Activity implements OnItemClickListener {
    private ListView audioList;
    private Intent frmHome;
    private ArrayList<HashMap<String, String>> dataList;
    private HashMap<String, String> map;
    private HashMap<String, String> data;
    private int Screen_Id;
    private AdView adView;
    String name;
    String mSign[] = { "Aries-Mesam", "Taurus-Vrushabham", "Gemini-Midhunam",
            "Cancer-Karkatakam", "Leo-Simham", "Virgo-Kanya", "Libra-Tula",
            "Scorpio-Vruchikam", "Sagittarius-Dhanussu", "Capricorn-Makaram",
            "Aquarius-Kumbham", "Pisces-Meenam" };
    Integer mImages[] = { R.drawable.meshamu, R.drawable.vrushabhamu,
            R.drawable.medhunam, R.drawable.karkatakam, R.drawable.simham,
            R.drawable.kanya, R.drawable.tula, R.drawable.vruchikam,
            R.drawable.dhanussu, R.drawable.makaramu, R.drawable.kumbhamu,
            R.drawable.meenamu };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_RIGHT_ICON);
        setContentView(R.layout.list);
        frmHome = getIntent();
        getIntentValues();
        initUI();
        setUI();
        uiListener();
    }

    private void initUI() {
        audioList = (ListView) findViewById(R.id.audiolist_listView);
        dataList = new ArrayList<HashMap<String, String>>();
        adView = new AdView(this, AdSize.SMART_BANNER, "a150b89c23af3b2");
        LinearLayout layout = (LinearLayout) findViewById(R.id.linearLayout1);
        layout.setGravity(Gravity.TOP);
        layout.addView(adView);
        adView.loadAd(new AdRequest());
    }

    private void uiListener() {
        audioList.setOnItemClickListener(this);
    }

    private void getIntentValues() {
        String id = frmHome.getStringExtra("Activity_Id");
        Screen_Id = Integer.parseInt(id);
        if (Screen_Id == 1) {
            getWindow().setFeatureDrawableResource(Window.FEATURE_RIGHT_ICON,
                    R.drawable.audioo);
            this.setTitle(getResources().getString(R.string.audio));
            this.setTitleColor(getResources().getColor(R.color.Beige));
        } else {
            this.setTitle(getResources().getString(R.string.video));
            this.setTitleColor(getResources().getColor(R.color.Beige));
            getWindow().setFeatureDrawableResource(Window.FEATURE_RIGHT_ICON,
                    R.drawable.videoo);
        }
    }

    private void setAdapter() {
        SimpleAdapter adapter = new SimpleAdapter(this, dataList,
                R.layout.list_row, new String[] { "Image", "text" }, new int[] {
                        R.id.audiolist_row_img, R.id.audiolist_row_tv });
        audioList.setAdapter(adapter);
    }

    private void setUI() {
        for (int a = 0; a <= 11; a++) {
            map = new HashMap<String, String>();
            map.put("Image", "" + mImages[a]);
            map.put("text", mSign[a]);
            dataList.add(map);
            map = null;
        }
    }

    @Override
    protected void onStart() {
        super.onStart();
        setAdapter();
    }

    @Override
    public void onBackPressed() {
        super.onBackPressed();
        System.gc();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        adView.destroy();
    }

    /*
     * private class NextTask extends AsyncTask<Void,Void,Void> { ProgressDialog
     * progressDailog = new ProgressDialog(Audiovediolist.this);
     * 
     * @Override protected void onPreExecute() { super.onPreExecute();
     * progressDailog.setTitle("Please Wait");
     * progressDailog.setMessage("URL Data Loading ...");
     * progressDailog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
     * progressDailog.setCancelable(true); progressDailog.show(); }
     * 
     * @SuppressWarnings("static-access")
     * 
     * @Override protected Void doInBackground(Void... params) { return null; }
     * 
     * @Override protected void onPostExecute(Void result) {
     * progressDailog.dismiss(); } }
     */
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position,
            long id) {
        data = dataList.get(position);
        //FinalConstants.AUDIO_VIDEO = "list";
        try {
            NetWorkCheck netWork = new NetWorkCheck();
            if (netWork.isNetWorkConnection(this)) {
                if (Screen_Id == 1) {
                    // new NextTask().execute();
                    Intent audioInt=new  Intent(getApplicationContext(),AudioView.class);
                     audioInt.setType(data.get("text"));

                     startActivity(audioInt);
                } else if (Screen_Id == 2) {
                    Intent vedioInt = new Intent(this, VideoPlayActivity.class);
                    vedioInt.setType(data.get("text"));
                    startActivity(vedioInt);
                }
            } else {
                netWork.alert();
            }
        } catch (Exception e) {
            e.printStackTrace();
            Toast.makeText(this, "Problem while ListItemClick",
                    Toast.LENGTH_SHORT).show();
        }
    }
}
public class AudioView extends Activity implements OnClickListener {
    private MediaPlayer mMediaPlayer;
    private ImageView mPlay;
    private ImageView mPause;
    private ImageView mBack;
    private ImageView mFar;
    private ProgressBar myProgressBar;
    private boolean boolFlag = false;
    private boolean isPausedInCall = false;
    private String url;
    private TelephonyManager mTelephoneMgr;
    private NotificationManager mNotificationManager;
    private int SIMPLE_NOTFICATION_ID;
    private TextView tv;
    // private boolean serviceRunning;
    Notification notifyDetails;
    private AdView adView;


    @SuppressWarnings("deprecation")
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().requestFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
        setContentView(R.layout.marquee);
        Toast.makeText(this,"please wait.........",Toast.LENGTH_LONG).show();
        url=getIntent().getType();
        initUI();
        uiListener();

        mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        notifyDetails = new Notification(R.drawable.mulug_icon, url,
                System.currentTimeMillis());
        mTelephoneMgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
        if (mTelephoneMgr != null) {
            mTelephoneMgr.listen(phoneStateListener,
                    PhoneStateListener.LISTEN_CALL_STATE);
        }
        /*if(FinalConstants.AUDIO_VIDEO=="listitem"){
        LoginProgress task = new LoginProgress();
        task.applicationContext = AudioView.this;
        task.execute();
    }*/
    }

    private void initUI() {
        tv = (TextView) findViewById(R.id.text);
        mBack = (ImageView) findViewById(R.id.back);
        mPlay = (ImageView) findViewById(R.id.play);
        mPause = (ImageView) findViewById(R.id.pause);
        mFar = (ImageView) findViewById(R.id.fwd);
        myProgressBar = (ProgressBar) findViewById(R.id.progressbar_Horizontal);
        myProgressBar.setProgressDrawable(getResources().getDrawable(
                R.drawable.green_progress));
        myProgressBar.setProgress(0);
        adView = new AdView(this, AdSize.BANNER, "a150b89c23af3b2");
        LinearLayout layout = (LinearLayout) findViewById(R.id.linearLayout1);
        layout.setGravity(Gravity.TOP);
        layout.addView(adView);
        adView.loadAd(new AdRequest());
        tv.setText(url + "more Deails Click on www.mulugu.com");
        tv.setSelected(true);
    }
    private void uiListener() {
        mPlay.setOnClickListener(this);
        mPlay.setOnClickListener(this);
        mPause.setOnClickListener(this);
        mPause.setVisibility(android.view.View.INVISIBLE);
        mBack.setOnClickListener(this);
        mFar.setOnClickListener(this);
    }

    private Thread myThread = new Thread() {
        public void run() {
            while (mMediaPlayer.getCurrentPosition() < mMediaPlayer
                    .getDuration()) {
                try {
                    myProgressBar
                            .setProgress(mMediaPlayer.getCurrentPosition());
                } catch (Throwable t) {
                }
            }
        }
    };



    @Override
    protected void onStart() {
        super.onStart();
        this.setProgressBarIndeterminateVisibility(true);
        try {
            if (boolFlag == false) {
                System.out.println(FinalConstants.URL + "mobile-audio/" + url+ ".mp3");
                mMediaPlayer = MediaPlayer.create(
                        this,
                        Uri.parse(FinalConstants.URL + "mobile-audio/" + url
                                + ".mp3"));
            }
            myProgressBar.setMax(mMediaPlayer.getDuration());
        } catch (Exception e) {
            Toast.makeText(getApplicationContext(), "Data not available",
                    Toast.LENGTH_SHORT).show();
            Log.e("ERRORS", "Data Not Exist in that Url...");
            super.onBackPressed();
            e.printStackTrace();
        }
    }

    @SuppressLint("NewApi")
    @Override
    public void onBackPressed() {
        super.onBackPressed();
        mMediaPlayer.stop();
        // myThread.stop();
        mNotificationManager.cancel(SIMPLE_NOTFICATION_ID);
        System.gc();
    }

    @Override
    protected void onDestroy() {
        adView.destroy();
        super.onDestroy();
        System.gc();
    }



    public PhoneStateListener phoneStateListener = new PhoneStateListener() {
        @Override
        public void onCallStateChanged(int state, String incomingNumber) {
            if (state == TelephonyManager.CALL_STATE_RINGING) {
                System.out.println("ringing state");
                if (mMediaPlayer != null) {
                    pauseMedia();
                    isPausedInCall = true;
                }
                notificationShow();
            }
            if (state == TelephonyManager.CALL_STATE_IDLE) {
                System.out.println("callState Idle");
                if (mMediaPlayer != null) {
                    if (isPausedInCall) {
                        isPausedInCall = false;
                        playMedia();
                    }
                }
            }
            if (state == TelephonyManager.CALL_STATE_OFFHOOK) {
            }
            super.onCallStateChanged(state, incomingNumber);
        }
    };

    private void pauseMedia() {
        mMediaPlayer.pause();
        changePlayerIcons(false);
    }

    private void playMedia() {
        mMediaPlayer.start();
        changePlayerIcons(true);
    }
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.play:
            if (!boolFlag) {
                try {
                    notificationShow();
                     mMediaPlayer.setLooping(false);
                     mMediaPlayer.prepareAsync();
                } catch (Exception e) {
                    Toast.makeText(this, "preparing", Toast.LENGTH_SHORT)
                            .show();
                }
                boolFlag = true;
                mMediaPlayer.start();
                myThread.start();
            } else {
                notificationShow();
                mMediaPlayer.getCurrentPosition();
                mMediaPlayer.start();
            }
            changePlayerIcons(true);
            myProgressBar.setProgress(mMediaPlayer.getCurrentPosition());
            mMediaPlayer.setOnCompletionListener(new OnCompletionListener() {
                @Override
                public void onCompletion(MediaPlayer arg0) {
                    changePlayerIcons(false);
                    myProgressBar.setProgress(0);
                    onStart();
                }
            });
            mMediaPlayer.setOnPreparedListener(new OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mp) {
                }
            });
            break;
        case R.id.pause:
            mMediaPlayer.pause();
            mPlay.setVisibility(android.view.View.VISIBLE);
            mPause.setVisibility(android.view.View.INVISIBLE);
            break;
        case R.id.back:
            int dur = mMediaPlayer.getCurrentPosition();
            int pos = (dur > 10000 ? dur - 5000 : 0);
            mMediaPlayer.seekTo(pos);
            break;
        case R.id.fwd:
            int curpos = mMediaPlayer.getCurrentPosition();
            int dur2 = mMediaPlayer.getDuration();
            int pos2 = (curpos + 5000 > dur2 ? dur2 : curpos + 5000);
            mMediaPlayer.seekTo(pos2);
            break;
        }
    }

    @SuppressWarnings("deprecation")
    private void notificationShow() {
        Context context = getApplicationContext();
        CharSequence contentTitle = "Mulugu Running";
        CharSequence contentText = url + " Weekly Predictions";

        Intent notifyIntent = new Intent(AudioView.this, AudioView.class);
        PendingIntent intent = PendingIntent.getActivity(AudioView.this, 0,
                notifyIntent, android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP);
        notifyDetails.setLatestEventInfo(context, contentTitle, contentText,
                intent);
        mNotificationManager.notify(SIMPLE_NOTFICATION_ID, notifyDetails);
    }

    private void changePlayerIcons(boolean b) {
        if (b) {
            mPlay.setVisibility(android.view.View.INVISIBLE);
            mPause.setVisibility(android.view.View.VISIBLE);
        } else {
            mPlay.setVisibility(android.view.View.VISIBLE);
            mPause.setVisibility(android.view.View.INVISIBLE);
        }
    }

    /*public class LoginProgress extends AsyncTask<Void, Void, Void> {

        private ProgressDialog dialog;
        protected Context applicationContext;

        @Override
        protected void onPostExecute(Void result) {
            // TODO Auto-generated method stub
            super.onPostExecute(result);
            this.dialog.dismiss();
        }

        @Override
        protected void onPreExecute() {
            this.dialog = ProgressDialog.show(applicationContext, "Data Loading",
                    "Loading .....", true);
        }

        @Override
        protected Void doInBackground(Void... params) {
            LoadUrl();
            return null;
        }
        private void LoadUrl() {
            mMediaPlayer = new MediaPlayer();
            mMediaPlayer.reset();
            try {
                mMediaPlayer.setDataSource(AudioView.this,Uri.parse(FinalConstants.URL + "mobile-audio/" + getIntent().getType()+ ".mp3"));
                mMediaPlayer.setLooping(false); // Set looping
                mMediaPlayer.prepare();
                myProgressBar.setMax(mMediaPlayer.getDuration());
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }*/
}
公共类Audiovediolost扩展活动实现了一个新的监听器{
私有ListView音频列表;
私人意图;
私有ArrayList数据列表;
私有哈希映射;
私有HashMap数据;
私人int屏幕Id;
私人咨询咨询;
字符串名;
字符串mSign[]={“白羊座水星”、“金牛座水星”、“双子座水星”,
“巨蟹座卡卡他卡姆”、“狮子座西汉姆”、“处女座卡尼亚”、“天秤座图拉”,
“天蝎座Vruchikam”、“射手座Dhanusu”、“摩羯座Makaram”,
“宝瓶座的库姆姆”,“双鱼座的米纳姆”};
整数图像[]={R.drawable.meshamu,R.drawable.vrushabhamu,
R.drawable.medhunam,R.drawable.karkatakam,R.drawable.simham,
R.drawable.kanya,R.drawable.tula,R.drawable.vruchikam,
R.drawable.Dhanusu,R.drawable.makaramu,R.drawable.kumbhamu,
R.drawable.meenamu};
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
requestWindowFeature(窗口。功能\右\图标);
setContentView(R.layout.list);
frmHome=getIntent();
getIntentValues();
initUI();
setUI();
uiListener();
}
私有void initUI(){
audioList=(ListView)findViewById(R.id.audioList\u ListView);
dataList=newarraylist();
adView=新adView(这是AdSize.SMART_横幅,“a150b89c23af3b2”);
LinearLayout布局=(LinearLayout)findViewById(R.id.linearLayout1);
布局。设置重力(重力。顶部);
layout.addView(adView);
adView.loadAd(新地址());
}
私有void uiListener(){
audioList.setOnItemClickListener(此);
}
私有void getIntentValues(){
字符串id=frmHome.getStringExtra(“活动id”);
Screen_Id=Integer.parseInt(Id);
如果(屏幕Id==1){
getWindow().setFeatureDrawableResource(Window.FEATURE\u RIGHT\u图标,
R.可拉拔式音频);
this.setTitle(getResources().getString(R.string.audio));
this.setTitleColor(getResources().getColor(R.color.Beige));
}否则{
这个.setTitle(getResources().getString(R.string.video));
this.setTitleColor(getResources().getColor(R.color.Beige));
getWindow().setFeatureDrawableResource(Window.FEATURE\u RIGHT\u图标,
R.可绘制视频);
}
}
私有void setAdapter(){
SimpleAdapter=新SimpleAdapter(此,数据列表,
R.layout.list_行,新字符串[]{“Image”,“text”},新int[]{
R.id.audiolist_row_img,R.id.audiolist_row_tv});
audioList.setAdapter(适配器);
}
私有void setUI(){

对于(int a=0;a如果您需要移动文本,这可能会有帮助:

如果您有一个文本视图,其中的文本太大,您希望它能够四处移动,以便人们可以阅读整个内容,请尝试在.xml文件或Java代码中使用
android:ellipsize=“marquee”

textView.setEllipsize(TextUtils.TruncateAt.MARQUEE);

如果android库不够,您可以始终通过编码使用java。创建一个线程类,该类可以获取视图并随时间改变条件。您可以创建调用该类的意图。

您可以使用TextSwitcher并在其上应用动画

请尝试以下代码:

public class TextSwitcherActivity extends Activity implements ViewSwitcher.ViewFactory,
    View.OnClickListener                    
  {
private TextSwitcher m_switcher;
private Button m_nextButton;
private int m_counter = 0;

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

    m_switcher = (TextSwitcher) findViewById(R.id.tsSwitcher);
    m_switcher.setFactory(this);

    Animation in = AnimationUtils.loadAnimation(this, android.R.anim.fade_in);
    Animation out = AnimationUtils.loadAnimation(this, android.R.anim.fade_out);
    m_switcher.setInAnimation(in);
    m_switcher.setOutAnimation(out);

    m_nextButton = (Button) findViewById(R.id.next);
    m_nextButton.setOnClickListener(this);
    updateCounter();
}

/**
 * Update counter value
 */
public void onClick(View v)
{
    m_counter++;
    updateCounter();
}

/**
 * Set text on textswitcher
 */
private void updateCounter()
{
    m_switcher.setText(String.valueOf(m_counter));
}

public View makeView()
{
    TextView t = new TextView(this);
    t.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
    t.setTextSize(36);
    return t;
}
您可以定义自己的动画以获得字幕效果。

以下是示例

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
    android:id="@+id/mywidget"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:lines="1"
    android:ellipsize="marquee"
    android:fadingEdge="horizontal"
    android:marqueeRepeatLimit="marquee_forever"
    android:scrollHorizontally="true"
    android:textColor="#ff4500"
    android:text="Simple application that shows how to use marquee, with a long text" />

你能解释一下你到底需要什么吗?我似乎不知道。我需要从列表视图中动态获取文本。假设我有一个列表视图,其中有12个不同的名称连接到音频播放器,我想在音频播放器屏幕的字幕中显示所选的名称。是否可能。你想获取显示在所选项目上的名称用户已选择?:$或您对实现选框更感兴趣吗?使用滚动功能选择的项目名称希望这可能会对您有所帮助..我需要从列表视图动态获取文本。假设我有一个列表视图,其中有12个不同的名称连接到音频播放器,我想显示在其中选择的名称音频播放器屏幕上有一个字幕。有可能吗。对不起,这只是为了字幕。我需要在列表视图中选择的文本滚动。其他开发人员的答案似乎适合字幕,有很多有趣的解决方案。但要求仍然不够清楚。您想对其进行说明吗。请提供一个例如。添加一个带有一些提示或代码片段的图像以使其清晰。谢谢,那么请告诉我您的列表视图是什么样子的?它是一个仅包含文本的普通列表视图还是一个包含自定义行的列表视图?如果它是一个带有ArrayAdapter的简单列表视图,则您可能使用了布局中的TextView并传递了该视图的ID,如果它正确,则你可以用上面的方法。不管怎样,祝你好运。