-2
任何人都可以清楚地解釋爲什麼onActivityResult是生產以下errorsAnnotations該處不允許onActivityResult()錯誤
「;」預計
操作「==」不能應用到「廉政」,「空」
無法解析方法 'getExtras()'
不能解析符號 'ACTION_CALL'
不能RES olve symbol'ACTION_VIEW'
你也可以解釋如何解決它。謝謝。
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.List;
import static android.R.attr.data;
public class ContactIntentActivity extends AppCompatActivity {
private final int PHONE = 0;
private final int WEBSITE = 1;
private ListView intentListView;
private ArrayAdapter<String> adapter;
private List<ContactObject> contactsList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_contact_intent);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
// inflate my view
setContentView(R.layout.activity_contact_intent);
intentListView = (ListView) findViewById(R.id.listView1);
// initialize the list and add item
contactsList = new ArrayList<>();
contactsList.add(new ContactObject("Android One", "111-111-1111", "www.naruto.com"));
contactsList.add(new ContactObject("Android Two", "222-222-2222", "www.naruto.com"));
contactsList.add(new ContactObject("Android Three", "333-333-3333", "www.naruto.com"));
contactsList.add(new ContactObject("Android Four", "444-444-4444", "www.naruto.com"));
List<String> listName = new ArrayList<>();
for (int i = 0; i < contactsList.size(); i++) {
listName.add(contactsList.get(i).getName());
}
// initialize the ArrayAdapter object
adapter = new ArrayAdapter<>(ContactIntentActivity.this, android.R.layout.simple_list_item_1, listName);
// set the adapter of the ListView
intentListView.setAdapter(adapter);
// setonclicklistener in adapterview cannot be applied here. changed to setonItemClickListener
intentListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent i = new Intent(ContactIntentActivity.this, ContactPageActivity.class);
i.putExtra("Object", contactsList.get(position));
startActivityForResult(i, 0);
}
});
@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data)
{
if (data == null) {
return;
}
Bundle resultData = data.getExtras();
String value = resultData.getString("value");
switch (resultCode) {
case PHONE:
//Implicit intent to make a call
startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + value)));
break;
case WEBSITE:
//Implicit intent to visit website
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://" + value)));
break;
}
}
}
謝謝C.L.解決了這個問題。不能相信我在調試過程中錯過了這一點。 – BlackArchMagusVidar
有關如何避免將來會出現像以前那樣愚蠢的錯誤的建議? – BlackArchMagusVidar
您應該使用高亮匹配大括號(Android Studio)的IDE。此外,如果從編譯單元的某個特定位置開始出現多個不同類型的錯誤,原因可能是您的表達式不在它們所屬的範圍內。特別是在第一次錯誤之前的部分檢查你的偏食。 –