Ist es möglich, Text von Java-Codierung einer Listenansicht zu Festzelt Scroll in Android hinzuzufügen. Wenn ja, kannst du mir bitte sagen wie?Text für Laufschrift dynamisch
Bei Bedarf werde ich den verwendeten Code veröffentlichen. Dies war der XML für Listview verwendet wird, ist als
<?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>
folgt
Die Java-Klasse für Listview ist wie folgt
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();
}
}
}
Der Code für Audio-Player, wo ich den Text benötigen, ausgewählt blättern wie
folgtpublic 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();
}
}
}*/
}
können Sie erklären, was Sie genau brauchen? Ich bekomme es anscheinend nicht –
Ich muss den Text aus einer Listenansicht dynamisch abrufen. Angenommen, ich habe eine Listenansicht mit 12 verschiedenen Namen zu einem Audio-Player anschließen, und ich mag zeigen, welche Namen in einem Marquee in dem Audio-Player-Bildschirm ausgewählt ist. Ist es möglich. –
Sie möchten den Namen erhalten, der auf dem vom Benutzer ausgewählten Element angezeigt wird? : $ Oder sind Sie mehr daran interessiert, ein Zelt zu implementieren? –