Ich erstelle einen Twitter-Client mit Fabric, aber ich kann keine benutzerdefinierte onClick erstellen. Ich habe diesen benutzerdefinierten Adapter erstellt und versucht, einen OnClickListener zu erstellen, der jedoch nicht funktioniert. Immer im Browser Tweet öffnen.Kann ich benutzerdefinierte onClick auf meiner Timeline mit Fabric SDK festlegen?
public class TweetAdapter extends TweetTimelineListAdapter {
public ArrayList<Long> tweetIds=new ArrayList<Long>();
public TweetAdapter(Context context, Timeline<Tweet> timeline) {
super(context, timeline);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Object rowView = convertView;
final Tweet tweet = (Tweet)this.getItem(position);
if(convertView == null) {
rowView = new CompactTweetView(this.context, tweet);
} else {
((BaseTweetView)convertView).setTweet(tweet);
((View)rowView).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
tweetIds.add(tweet.getId());
}
});
}
return (View)rowView;
}
}
In BaseTweetView Klasse ist es die Funktion Typ OnClickListener aber in diesem Fall kann ich nicht von irgendeiner Idee denken, zu überschreiben.
private void setPermalinkLauncher() {
BaseTweetView.PermalinkClickListener listener = new BaseTweetView.PermalinkClickListener();
this.setOnClickListener(listener);
this.contentView.setOnClickListener(listener);
}
class PermalinkClickListener implements OnClickListener {
PermalinkClickListener() {
}
public void onClick(View v) {
if(BaseTweetView.this.getPermalinkUri() != null) {
BaseTweetView.this.scribePermalinkClick();
BaseTweetView.this.launchPermalink();
}
}
}
Irgendwelche Ideen? Danke
So deaktivieren Sie alle Klicks, die zum Ändern der Methode erforderlich sind: 'private void disableViewAndSubViews (Layout der Ansichtsgruppe) { layout.setEnabled (false); für (int i = 0; i
pablogupi
Ich aktualisiere das gist Beispiel und antworte mit deinem Vorschlag;) – sabadow
irgendwelche Ideen, wie man dies ohne die Erweiterung TweetTimeLineListAdapter machen kann? Ich habe den obigen Code ausprobiert, aber es funktioniert nicht für mich. Ich erstelle ein Tweet-Objekt und füge es in ein FrameLayout ein, das die Zeile der Liste ist. Ich muss einen auswählen, ohne Standard-Tweet-Aktionen aufzurufen. – SavageKing