Я пытаюсь сохранить ссылку из webview. Из моего класса webview я сохраняю URL-адрес страницы, как показано ниже.Listview не правильно загружается
public void AddUrl(String page_url){
SaveUrlActivity urlactivity = new SaveUrlActivity();
urlactivity.saveurl(page_url);
}
Мой класс SaveUrlActivity, как показано ниже:
public class SaveUrlActivity extends Activity {
public String url;
public ListView lv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_savedurl);
lv = (ListView) findViewById(R.id.list);
saveurl(url);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent in = new Intent(SaveUrlActivity.this, DisPlayWebPageActivity.class);
in.putExtra("page_url", url);
startActivity(in);
}
});
}
public void saveurl(String url1){
url = url1;
final List<RowItem> ri = new ArrayList<RowItem>();
RowItem item = new RowItem(url);
ri.add(item);
SavedUrlAdapter adapter = new SavedUrlAdapter(SaveUrlActivity.this, ri);
lv.setAdapter(adapter);
}
}
Всякий раз, когда я запускаю свою программу, я получаю следующее сообщение об ошибке.
FATAL EXCEPTION: main
Process: com.example.smarthelp, PID: 16284
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference
at com.example.smarthelp.SaveUrlActivity.saveurl(SaveUrlActivity.java:46)
at com.example.smarthelp.DisPlayWebPageActivity.AddUrl(DisPlayWebPageActivity.java:76)
at com.example.smarthelp.DisPlayWebPageActivity.onOptionsItemSelected(DisPlayWebPageActivity.java:66)
Может ли кто-нибудь помочь мне выяснить, где я делаю ошибку?
Я понимаю. Это должно быть причиной. Но я не понимаю вашего решения. Можете ли вы немного подробнее ... – Arnab
@Arnab, вы не можете использовать ListView или любой другой вид из еще не запущенной операции. Когда вы говорите «SaveUrlActivity urlactivity = new SaveUrlActivity();' - вы не вызываете onCreate() из этого класса, onCreate() вызывается только в том случае, если вы начинаете этот класс как Activity, иначе вы просто инициализируете его как произвольное класс, вам это не нужно. Я отредактировал мой ответ, проверьте его –
Спасибо Movsar, я попробую это из – Arnab