これは私の 2 番目のアプリであり、ListActivity を使用するのは初めてです。何かがうまく再生されていません - アクティビティ (ShowWidget) が表示されますが、リストは空です。
ここに私のListActivityコードがあります:
import android.app.ListActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class ShowWidget extends ListActivity {
DataProvider db = new DataProvider(ShowWidget.this);
public static String sound;
MediaPlayer mp = new MediaPlayer();
@SuppressWarnings("unused")
private ListView LV;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Toast.makeText(getApplicationContext(), "Loading your settings.", Toast.LENGTH_SHORT).show();
LV = (ListView)findViewById(android.R.id.list);
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, PENS));
getListView().setTextFilterEnabled(true);
// change to our configure view
setContentView(R.layout.widget_show);
/*db.open();
Cursor cursor = db.getRecord(1);
ShowWidget.sound = cursor.getString(cursor.getColumnIndex("sound"));
cursor.close();
db.close();*/
}
static final String[] PENS = new String[]{
"MONT Blanc", "Gucci", "Parker", "Sailor",
"Porsche Design", "Rotring", "Sheaffer", "Waterman"
};
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Object o = this.getListAdapter().getItem(position);
String pen = o.toString();
Toast.makeText(this, "You have chosen the pen: " + " " + pen, Toast.LENGTH_LONG).show();
}
public void play(){
}
}
そして私のレイアウト:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/widgetShow">
<ListView
android:layout_width="0dp"
android:layout_height="0dp"
android:id="@android:id/list"
android:layout_weight="1">
</ListView>
</LinearLayout>
私が言ったように、私はここで何か間違ったことをしています - アクティビティは表示されますが、PENS に保存されたデータは表示されません。正しい方向へのアイデアやポイントは非常に高く評価されます! 質問が明確でない場合は、コメントしてください。質問を編集して明確にします。