你可以看到我在MainActivty.java上有三个案例指向同一个活动Ekantipur.java 但在Ekantipur.java我只有一个链接。因此,当您单击三个列表视图中的任何一个时,它将打开相同的链接。因此,当您单击列表视图中的不同位置时,单击不同的列表视图项时,我想打开不同的链接。
我不想为此做出不同的活动。这只是三个案例,但我有大约20个链接,我不想用相同的源代码和只有不同的网络链接进行20次活动。
MainActivityParent.java
package com.example.listviewselfmade;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivityParent extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// storing string resources into Array
String[] adobe_products = getResources().getStringArray(R.array.newsparent);
// Binding Array to ListAdapter
this.setListAdapter(new ArrayAdapter<String>(this, R.layout.main,
R.id.label, adobe_products));
ListView lv = getListView();
// listening to single list item on click
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
switch (position) {
case 0:
startActivity(new Intent("com.example.listviewselfmade.MAINCHILD"));
break;
case 1:
startActivity(new Intent("com.example.listviewselfmade.MAINCHILD"));
break;
case 2:
startActivity(new Intent("com.example.listviewselfmade.MAINCHILD"));
break;
}
}
});
}
}
MainActivity.java
package com.example.listviewselfmade;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// storing string resources into Array
String[] adobe_products = getResources().getStringArray(R.array.news);
// Binding Array to ListAdapter
this.setListAdapter(new ArrayAdapter<String>(this, R.layout.main,
R.id.label, adobe_products));
ListView lv = getListView();
// listening to single list item on click
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
switch (position) {
case 0:
startActivity(new Intent("com.example.listviewselfmade.EKANTIPUR"));
break;
case 1:
startActivity(new Intent("com.example.listviewselfmade.EKANTIPUR"));
break;
case 2:
startActivity(new Intent("com.example.listviewselfmade.EKANTIPUR"));
break;
}
}
});
}
}
Ekantipur.java
package com.example.listviewselfmade;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
public class Ekantipurbreaking extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
// Adds Progress bar Support
this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
super.onCreate(savedInstanceState);
setContentView(R.layout.webviewxml);
// Makes Progress bar Visible
getWindow().setFeatureInt(Window.FEATURE_PROGRESS,
Window.PROGRESS_VISIBILITY_ON);
WebView mainWebView = (WebView) findViewById(R.id.webview);
final Activity MyActivity = this;
mainWebView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
// Make the bar disappear after URL is loaded, and changes
// string to Loading...
MyActivity.setTitle("Loading...");
MyActivity.setProgress(progress * 100); // Make the bar
// disappear after URL
// is loaded
// Return the app name after finish loading
if (progress == 100)
MyActivity.setTitle(R.string.app_name);
}
});
// enable javascript
WebSettings webSettings = mainWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
// setting up the client so that the link opened will open in the same
// activity
mainWebView.setWebViewClient(new MyCustomWebViewClient());
// loads the url
try {
mainWebView.loadUrl("http://tipfortechs.com");
} catch (Exception e) {
e.printStackTrace();
}
mainWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
}
}
答案 0 :(得分:1)
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent intent = new Intent(MainActivityParent.this, MainActivity.class);
intent.putExtra("product", adobe_products[position]);
startActivity(intent);
}
然后在MainActivity的onCreate
String product = getIntent().getStringExtra("product");
无论你需要做什么。将数据从第二个活动传递到第三个活动几乎一样,只需使用相应的类和数据。
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent intent = new Intent(MainActivity.this, Ekantipur.class);
intent.putExtra("url", adobe_products[position]);
startActivity(intent);
}
在Ekantipur
mainWebView.loadUrl(getIntent().getStringExtra("url"));