2016-07-07 13 views
-2

Ich habe versucht, eine URL nach einigen anderen Fragen zu öffnen, aber das Ereignis onClick startet die App einfach neu und öffnet den Browser nicht. Thx für die HilfeAndroid ImageButton onClick, fehlt etwas Wichtiges?

UPDATE: Dies funktioniert für Aktivitäten nicht für Fragmente.

das ist meine .xml Taste

 <ImageButton 
      android:layout_width="55dp" 
      android:layout_height="55dp" 
      android:id="@+id/imageButton2" 
      android:background="@drawable/icon" 
      android:layout_margin="5dp" 
      android:layout_weight="1" 
      android:onClick="EnterButton"/> 

Das ist mein .java- mit der implementierten Methode.

public void EnterButton(View view) { 
Uri uri = Uri.parse("http://www.google.com"); 
Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
startActivity(intent); 
} 
+0

Haben Sie überprüft, ob Ihr "EnterButton" ausgelöst wird? Sie können auch prüfen, ob Ihr Gerät mit dieser Absicht umgehen kann –

Antwort

0

Nach einigen Versuchen funktioniert das für meine Fragmente. Die anderen Methoden von der Schnittstelle werden nicht geändert.

public class HomeFragment extends Fragment implements View.OnClickListener { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { 
     View v = inflater.inflate(R.layout.fragment_home, container, false); 
     ImageButton b = (ImageButton) v.findViewById(R.id.imageButton2); 
     b.setOnClickListener(this); 
     return v; 
    } 

    public void onClick(View v) { 
     switch (v.getId()) { 
      case R.id.imageButton2: 
       String url = "http://www.google.com"; 
       Intent intent = new Intent(Intent.ACTION_VIEW); 
       intent.setData(Uri.parse(url)); 
       startActivity(intent); 
       break; 
     } 
    } 
0

Statt dieser

Uri uri = Uri.parse("http://www.google.com"); 
Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
startActivity(intent); 

gerade diese verwenden

startActivity(new Intent(Intent.ACTION_VIEW).setData(Uri.parse("http://www.google.com"))); 

vollständigen Code:

public void EnterButton(View view) { 
    startActivity(new Intent(Intent.ACTION_VIEW).setData(Uri.parse("http://www.google.com"))); 
} 
0

Verwendung Dieser Code seine Arbeit Man ...

public void EnterButton(View view) { 
String url = "http://www.google.com"; 
Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setData(Uri.parse(url)); 
startActivity(intent); 
}