Konstruktor in anderer Klasse nutzen

Icke

Mitglied
Guten Tag. Ich habe eine Klasse mit Konstruktoren geschrieben und möchte diese nun woanders nutzen.

Meine Konstruktorklasse:

Java:
package com.amazon;

import com.amazonaws.AmazonWebServiceRequest;

public class ListQueuesRequest extends AmazonWebServiceRequest {
	private String queueNamePrefix;
	
	public ListQueuesRequest() {}
	
	public ListQueuesRequest(String queueNamePrefix) {
		 this.queueNamePrefix = queueNamePrefix;
	}
	
	public String getQueueNamePrefix() {
		return queueNamePrefix;
	}
	
	public void setQueueNamePrefix(String queueNamePrefix) {
		this.queueNamePrefix = queueNamePrefix;
	}
	
	public ListQueuesRequest withQueueNamePrefix(String queueNamePrefix) {
		this.queueNamePrefix = queueNamePrefix;
		return this;
	}
	
	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		sb.append("{");
		sb.append("QueueNamePrefix: " + queueNamePrefix + ", ");
		sb.append("}");
		return sb.toString();
	}
	
}

Und in einer anderen Klasse möchte ich nun nutzen. Ich möchte nur Queues angezeigt bekommen, die das Wort "Angebote" enthalten. Ich habe also einen public String <List> erstelle mit Namen "Angebot" und verwende den nun, jedoch gibt es einen Fehler :

The method withListQueuesRequest in the type ListQueuesRequest is not applicable for the argument (List <String>)

Java:
package com.amazon;

import java.util.List;

import com.amazon.R;
import com.amazonaws.AmazonWebServiceRequest;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;

public class Offers extends CustomListActivity {
	
	protected List<String> queueListArray;
	protected List<String> queueNames;
	protected List<String> Angebote;
	protected Button cancelButton;
	
	private static final String SUCCESS = "Queue List";
	
	private Runnable postResults = new Runnable(){
		@Override
		public void run(){
			updateUi(queueListArray, SUCCESS);
		}
	};
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        cancelButton = (Button) findViewById(R.id.sqs_cancel_button_mq);
        startPopulateList();
    }
    
    protected void obtainListItems(){
		queueListArray = ListQueuesRequest.withQueueNamePrefix(Angebote);
		getHandler().post(postResults);
    }
 
Zuletzt bearbeitet:
1. Du hast keine statische Methode [c]withQueueNamePrefix()[/c].
2. Diese Methode erwartet einen String, und kein [c]List<String>[/c].
 
Wie gehe ich denn da vor mit dem String in List String umwandeln?

Und bei der Methode, heißt das dann public static ... ?
 
Ich weiss nicht, was dein Vorhaben ist.
Aber warscheinlich solltest du zuerst mal Objekte von [c]ListQueuesRequest[/c] erstellen? Dies geht mit dem new Operator.
Und warum du in der anderen Klasse 3 Listen mit Strings hast, versteh ich auch nicht.
Also ganz von vorne: Was ist dein Ziel?
 
Also: ich habe den Webservice Amazon SQS und dort werden Queues , die von nutzern angelegt werden, abgespeichert. Ich möchte die Queues abrufen mit einer bestimmten zeichenkette. Daher habe ich geschaut, welche Methoden dies machen. Das würde laut Dokumentation mit withQueueNamePrefix .
Und die müssen in einer liste gespeichert werden, da diese dann abgerufen werden. Ich kann auch den kompletten code posten, dann siehst du wofür die anderen listen sind.
 
Ohne dem TO zu nahe treten zu wollen, sollte er sich besser erst mal mit Grundlagen befassen, bevor er versucht mit Web Services rumzuspielen.

Selbst einfachste Grundlagen wie der Unterschied zwischen einem String und einer List<String> sind ja unbekannt. Das läuft dann auf eine zusammenkopierte Anwendung hinaus...
 
Das würde laut Dokumentation mit withQueueNamePrefix.
Glaub ich dir nicht.
Abgesehen davon würde ich mir bei einer Implementation von [c]T T.withXY(...)[/c] eher ein neues Objekt als Rückgabewert erwarten. Aber vielleicht ist das [c]return this[/c] gewollt 😉
Zu deiner Frage: Wenn du eine [c]List<ListQueuesRequest>[/c] hast, und diese ListQueuesRequests auf etwas testen willst, dann geh einfach durch all deine ListQueuesRequests (mit einer Schleife) und schreib dir die raus, die zutreffen. In deinem Beispiel könnte man über [c]getQueueNamePrefix()[/c] Vergleiche tätigen.
 
Das Problem ist, ich brauche das für die Uni und ich weiss das ich net proggen kann 😉

Also mal wieder ein Student der nicht studiert. Was denkt ihr euch eigentlich alle? Studium wäre Ponyhof oder was? :noe:

Du studierst ja mal mindestens seit diesem Wintersemester und weisst das alles nicht? Dann fang mal besser an zu lernen...

Ich klinke mich aus.
 
Das Problem ist, ich brauche das für die Uni und ich weiss das ich net proggen kann 😉

Ganz doofe Frage, aber wenn du das für die Uni brauchst, wie wäre es dann damit dies zu lernen? Das Semester hat ja nicht gerade erst gestern angefangen, und was ein Übergabeparameter ist bzw. ein Unterschied zwischen einer List und einem String ist, sollte man eigentlich schon verstanden haben.
Die Fragen die du hier bisher gestellt hast, waren alles fragen die man von jemandem erwartet, der sich <1 Woche mit Programmierung auseinander gesetzt hat.


Ansonsten.. falls du doch Hilfe willst, und auch bereit bist selbst etwas dafür zu tun:
Wie wäre es, du zeigst mal deine Versuche? Bisher sehe ich hier einen IST und einen SOLL-Zustand, der von uns gelöst werden soll. Für sowas wird normalerweise Geld bezahlt ???:L

PS: Ja, mich regt sowas auf, weil es immer das gleiche ist... :noe:
Ich finde, man sollte so Threads in Zukunft einfach schließen.
Wer zu faul ist im Semester aufzupassen und dann statt Grundlagen zu lernen erwartet, dass man ihm das Stück für Stück vorkaut hat es meiner Meinung nach nicht anders verdient.
 
1. Ich lerne
2. es ist nicht mein hauptfach
3. ich brauche das für ein fach, was ich später NIE NIE NIE wieder machen werde !
 
grosse Moralreden braucht hier keiner. Entweder man antwortet zu dem Thema oder nicht - alles andere ist doch nur Profilierung die keinem weiterhilft....

@Topic
ich befuerchte dass die Aufgabenstellung nicht ganz klar ist und der Code den du gepostet hast - v.a. ListQueuesRequest, macht so nicht sehr viel sinn.
Leider wage ich auch zu bezweiflen, dass das Posten des gesamten Codes viel bringt, dafuer ist das Thema komplexer, dein Verstaendnis dem code (und coden allgemein) gegenueber zu gering. Ich sehe da eher die Moeglichkeit das unter Hausaufgaben zu posten und hoffen dass es einer macht oder unter deinen Studienkollegen nachzufragen ob ich euch zusammen setzen koennt.
 

Zurück
Oben