Vor- und Zurückbutton bei Strings in einer Array

  • 23 Antworten
  • Letztes Antwortdatum
Code:
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.TextView;
import android.content.DialogInterface;
import android.content.Intent;


public class SortazActivity extends Activity  {

	String position_title;
	String position_count;
	ImageButton button1;
	ImageButton button2;
	TextView tv2;
	TextView tv1;
	int i = 0;
	int i1 = 0;
	String [] count;
	String [] titles;
	
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.sortaz);
		
		if (savedInstanceState != null) {
            i = savedInstanceState.getInt(position_title);
            i1 = savedInstanceState.getInt(position_count);
    	} else {	
    	}
		
		count = getResources().getStringArray(R.array.count_array);
		titles = getResources().getStringArray(R.array.title_array);
		tv2=(TextView)findViewById(R.id.textView2);
		
		tv1=(TextView)findViewById(R.id.textView1);
		

        button1=(ImageButton)findViewById(R.id.imageButton1);

        button1.setOnClickListener(new OnClickListener() {
        
  
        	@Override
            public void onClick(View v) {
        		
        		
        		i1++;

                if(i1 == (count.length -1)){
                    i1 = 0;}

                tv1.setText(count[i1]);

        		i++;

                if(i == (titles.length -1)){
                    i = 0;}

                tv2.setText(titles[i]);

            }     
        });
        
        
        
        button2=(ImageButton)findViewById(R.id.imageButton2); 

        button2.setOnClickListener(new OnClickListener() {

           @Override
           public void onClick(View v) {
        	   
        	   
               if(i1==0)
               {
                   i1=(count.length -1);
               }
               else
               {
               i1--;
               }

               tv1.setText(count[i1]);
        	   

        	   
               if(i==0)
               {
                   i=(titles.length -1);
               }
               else
               {
               i--;
               }

               tv2.setText(titles[i]);
        }
           
        });
        
	}
	

	@Override
	public void onSaveInstanceState(Bundle savedInstanceState) {
		
		savedInstanceState.putInt(position_title, i);
		savedInstanceState.putInt(position_count, i1);
	
	}
        	@Override
        	public void onBackPressed() {
        	   
        	        
        	        new AlertDialog.Builder(this)
        	        .setMessage(R.string.really_quit)
        	        .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {

        	            @Override
        	            public void onClick(DialogInterface dialog, int which) {

        	            finish();
        	            
        	            }

        	        })
        	        .setNegativeButton(R.string.no, null)
        	        .show();

        	        return;
        	    }	
        	
        	
        	
	
        	@Override
       	 
        	public boolean onCreateOptionsMenu(Menu menu) {
        	 
        	MenuInflater inflater = getMenuInflater();
        	 
        	inflater.inflate(R.menu.sortaz, menu);
        	 
        	return true;
        	 
        	}
        	@Override
        	public boolean onOptionsItemSelected(MenuItem item) {
        	    // Handle item selection
        	    switch (item.getItemId()) {
        	    
        	    
        	    case R.id.item1:
        	    	Intent intent3 = new Intent (this, MainActivity.class);
        	    	startActivity(intent3);
        	    	finish();
        	    	return true;
        	        
        	        
        	    default:
        	        return super.onOptionsItemSelected(item);
        	    }
        	}








			


	

}
 
Code:
	@Override
            public void onClick(View v) {
        		
        		
        		i1++;

                if(i1 == (count.length -1)){
                    i1 = 0;}

                tv1.setText(count[i1]);

        		i++;

                if(i == (titles.length -1)){
                    i = 0;}

                tv2.setText(titles[i]);

            }     
        }

Das inkrementieren, also das i++ darf natürlich erst nach der Überprüfung in else passieren, also analog zum minus-Button. Da hast du es ja auch richtig herum
 
Ja habe ich das jetzt so richtig wie in meinem Code?
 
Nur bei dem Minus-Button.

Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App
 
Zurück
Oben Unten