クラス配列に格納されているリストビューから選択した値をすべて取得しようとしています。そのクラスからフェッチしようとしたときに、関数でオブジェクトを作成しようとすると、私はそれを使うことができません。コードはこちら関数からクラスオブジェクトにアクセスできない不明なクラスがあります
public void showResult(View view) {
String result = "Selected Product are :";
int totalAmount=0;
ArrayList<contactStruct> product = new ArrayList<contactStruct>();
for (product p : boxAdapter.getBox()) {
if (p.box){
result += "\n" + p.name;
totalAmount+=p.price;
}
}
Toast.makeText(this, result+"\n"+"Total Amount:="+totalAmount, Toast.LENGTH_LONG).show();
}
これはonCreate内にあります。それは未知のクラスの製品を言う。助けてください。 はい、同じパッケージにあります。ここでは、パブリックとしてクラスが不明にするために、クラス
public class contactStruct {
String name;
String mob;
int image;
boolean box;
contactStruct(String _describe, String _mob, int _image, boolean _box) {
name = _describe;
mob = _mob;
image = _image;
box = _box;
}
}
、ここでは私の完全なコードは
あるimport android.database.Cursor;
import android.provider.ContactsContract;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
public class LoadContacts extends AppCompatActivity {
ArrayList<contactStruct> products = new ArrayList<contactStruct>();
Cursor cursor ;
String name, phoneNumber;
int imgP;
ListAdapter boxAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_load_contacts);
fillData();
boxAdapter = new com.example.piku.SteaUd.ListAdapter(this, products);
ListView lvMain = (ListView) findViewById(R.id.lview);
lvMain.setAdapter(boxAdapter);
Button submit = (Button)findViewById(R.id.selectCon);
submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showResult(v);
}
});
}
void fillData() {
cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null, null, null);
while (cursor.moveToNext()) {
name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
phoneNumber = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
imgP =cursor.getInt(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.PHOTO_THUMBNAIL_URI));
products.add(new contactStruct(""+name,phoneNumber,imgP,false));
}
cursor.close();
}
public void showResult(View view) {
String result = "Selected Product are :";
int totalAmount=0;
ArrayList<contactStruct> prod = new ArrayList<contactStruct>();
for (prod p : boxAdapter.getBox()) {
if (p.box){
result += "\n" + p.name;
totalAmount+=p.price;
}
}
Toast.makeText(this, result+"\n"+"Total Amount:="+totalAmount, Toast.LENGTH_LONG).show();
}
}
あなたのクラスはどこに定義されていますか?既にALT + ENTERを試しましたか? – donfuxx
ALT + ENTERは使用できません –
プロジェクトをクリーンアップして再構築してください –