2
私は一番下に一連のボタンとViewStubsの束を持っているアプリを作っています。すべてのボタンは1つのリスナーを指し、そのリスナーはidを切り替えることで、どのスタブを拡張するかを決定します。 ボタン1をクリックすると、以前のスタブの読み込みが取り消され、スタブ1が膨張します。ドラッグするとスタブ内のリストビューが黒くなります。
今、スタブ4ではリストビューが必要ですが、リストをドラッグすると問題があるようです。
私が持っている問題は、ドラッグするとリストビューが黒くなることです。
コードは次のとおりです。 package com.me.myapp; MainActivity.java
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewStub;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
public class MainActivity extends Activity {
int stubNum;
/** Called when the activity is first created. */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if (savedInstanceState == null) {
doStuff((View) findViewById(R.id.button1));
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putInt("stubNum", stubNum);
Log.d("Jason", "Saving stubNum is " + stubNum);
// TODO Auto-generated method stub
super.onSaveInstanceState(outState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onRestoreInstanceState(savedInstanceState);
stubNum = savedInstanceState.getInt("stubNum");
Log.d("Jason", "Saved stubNum is " + stubNum);
if (findViewById(stubNum) != null)
{
ViewStub stub = (ViewStub) findViewById(stubNum);
View newView = stub.inflate();
Button button1 = (Button) findViewById(R.id.Button01);
button1.setVisibility(Button.INVISIBLE);
Button button2 = (Button) findViewById(R.id.Button02);
button2.setVisibility(Button.VISIBLE);
}
}
// Implement the OnClickListener callback
public void doStuff(View v) {
setContentView(R.layout.main);
switch (v.getId()) {
case R.id.button1:
try
{
stubNum = 1;
ViewStub stub = (ViewStub) findViewById(R.id.stub1);
if (!(stub.getVisibility() == ViewStub.VISIBLE)) {
View newView = stub.inflate();
Button button1 = (Button) findViewById(R.id.Button01);
button1.setVisibility(Button.INVISIBLE);
Button button2 = (Button) findViewById(R.id.Button02);
button2.setVisibility(Button.VISIBLE);
}
stubNum = stub.getId();
Log.d("Jason", "stubNum is " + stubNum);
}
catch(NullPointerException e)
{
e.printStackTrace();
}
break;
case R.id.button2:
try
{
stubNum = 2;
ViewStub stub = (ViewStub) findViewById(R.id.stub2);
if (!(stub.getVisibility() == ViewStub.VISIBLE)) {
View newView = stub.inflate();
Button button1 = (Button) findViewById(R.id.Button01);
button1.setVisibility(Button.INVISIBLE);
Button button2 = (Button) findViewById(R.id.Button02);
button2.setVisibility(Button.INVISIBLE);
}
stubNum = stub.getId();
Log.d("Jason", "stubNum is " + stubNum);
}
catch(NullPointerException e)
{
e.printStackTrace();
}
break;
case R.id.button3:
try
{
stubNum = 3;
ViewStub stub = (ViewStub) findViewById(R.id.stub3);
if (!(stub.getVisibility() == ViewStub.VISIBLE)) {
View newView = stub.inflate();
Button button1 = (Button) findViewById(R.id.Button01);
button1.setVisibility(Button.INVISIBLE);
Button button2 = (Button) findViewById(R.id.Button02);
button2.setVisibility(Button.INVISIBLE);
}
stubNum = stub.getId();
Log.d("Jason", "stubNum is " + stubNum);
}
catch(NullPointerException e)
{
e.printStackTrace();
}
break;
case R.id.button4:
try
{
stubNum = 4;
ViewStub stub = (ViewStub) findViewById(R.id.stub4);
if (!(stub.getVisibility() == ViewStub.VISIBLE)) {
View newView = stub.inflate();
Button button1 = (Button) findViewById(R.id.Button01);
button1.setVisibility(Button.INVISIBLE);
Button button2 = (Button) findViewById(R.id.Button02);
button2.setVisibility(Button.INVISIBLE);
}
stubNum = stub.getId();
Log.d("Jason", "stubNum is " + stubNum);
}
catch(NullPointerException e)
{
e.printStackTrace();
}
break;
case R.id.button5:
try
{
stubNum = 5;
ViewStub stub = (ViewStub) findViewById(R.id.stub5);
if (!(stub.getVisibility() == ViewStub.VISIBLE)) {
View newView = stub.inflate();
Button button1 = (Button) findViewById(R.id.Button01);
button1.setVisibility(Button.INVISIBLE);
Button button2 = (Button) findViewById(R.id.Button02);
button2.setVisibility(Button.INVISIBLE);
}
stubNum = stub.getId();
Log.d("Jason", "stubNum is " + stubNum);
}
catch(NullPointerException e)
{
e.printStackTrace();
}
break;
default:
stubNum = 1;
ViewStub stub = (ViewStub) findViewById(R.id.stub1);
if (!(stub.getVisibility() == ViewStub.VISIBLE)) {
View newView = stub.inflate();
}
break;
}
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/relativeLayout1"
android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:layout_height="wrap_content"
android:id="@+id/linearLayout1" android:layout_width="match_parent"
android:layout_alignParentLeft="true"
android:gravity="center" android:layout_alignParentBottom="true">
<ImageButton android:src="@drawable/download" android:id="@+id/button1" android:layout_width="60dp" android:layout_height="40dp" android:layout_margin="2dip" android:onClick="doStuff"></ImageButton>
<ImageButton android:src="@drawable/download" android:id="@+id/button2" android:layout_width="60dp" android:layout_height="40dp" android:layout_margin="2dip" android:onClick="doStuff"></ImageButton>
<ImageButton android:src="@drawable/download" android:id="@+id/button3" android:layout_width="60dp" android:layout_height="40dp" android:layout_margin="2dip" android:onClick="doStuff"></ImageButton>
<ImageButton android:src="@drawable/download" android:id="@+id/button4" android:layout_width="60dp" android:layout_height="40dp" android:layout_margin="2dip" android:onClick="doStuff"></ImageButton>
<ImageButton android:src="@drawable/download" android:id="@+id/button5" android:layout_width="60dp" android:layout_height="40dp" android:layout_margin="2dip" android:onClick="doStuff"></ImageButton>
</LinearLayout>
<RelativeLayout android:id="@+id/relativeLayout2"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true" android:layout_above="@+id/linearLayout1"
android:background="#ffffff" android:layout_below="@+id/relativeLayout3">
<ViewStub android:id="@+id/stub1"
android:inflatedId="@+id/subTree"
android:layout="@layout/myvarsity"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<ViewStub android:id="@+id/stub2"
android:inflatedId="@+id/subTree"
android:layout="@layout/livestream"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<ViewStub android:id="@+id/stub3"
android:inflatedId="@+id/subTree"
android:layout="@layout/shows"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<ViewStub android:id="@+id/stub4"
android:inflatedId="@+id/subTree"
android:layout="@layout/more"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<ViewStub android:id="@+id/stub5"
android:inflatedId="@+id/subTree"
android:layout="@layout/settings"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</RelativeLayout>
<RelativeLayout android:id="@+id/relativeLayout3" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_width="match_parent" android:gravity="center_horizontal">
<Button android:id="@+id/Button02" android:text="Customize" android:layout_height="40dp" android:layout_width="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentRight="true"></Button>
<Button android:id="@+id/Button01" android:text="Back" android:layout_height="40dp" android:layout_width="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentLeft="true"></Button>
<TextView android:id="@+id/textView1" android:text="App" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="wrap_content" android:layout_centerVertical="true" android:layout_centerHorizontal="true"></TextView>
</RelativeLayout>
</RelativeLayout>
more.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout1" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:gravity="center_horizontal">
<RelativeLayout android:id="@+id/relativeLayout2"
android:layout_height="wrap_content" android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" android:layout_width="match_parent">
<ListView android:id="@+id/moreList"
android:layout_centerVertical="true" android:layout_width="match_parent"
android:layout_alignParentLeft="true" android:layout_height="match_parent"></ListView>
</RelativeLayout>
<TextView android:id="@+id/textView1" android:textColor="#000000"
android:text="Morelistview" android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_width="wrap_content" android:layout_below="@+id/relativeLayout2"
android:layout_alignParentLeft="true"></TextView>
</RelativeLayout>
more_list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView android:text="" android:id="@+id/moreItem" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
</RelativeLayout>
クマさん、ありがとう!私はオリエンテーションの変更にも問題がありますが、私はそれに取り組んでいきます。御時間ありがとうございます!! – OrhanC1